CMD/BAT - Сканирование папки на файлы с определённым расширением
-
IDROID
CMD/BAT - Сканирование папки на файлы с определённым расширением
Доброго дня!
Нужно написать скрипт, который будет постоянно сканировать папку на файлы с расширением .message. При их обнаружении нужно чтобы скрипт считал название файла без расширения и присвоил этому названию переменную %user%, считал содержимое файла и присвоил ему переменную %message% переименовал файл в .message.used и продолжил сканирование папки.
Буду признателен за любую помощь. Заранее спасибо.
Нужно написать скрипт, который будет постоянно сканировать папку на файлы с расширением .message. При их обнаружении нужно чтобы скрипт считал название файла без расширения и присвоил этому названию переменную %user%, считал содержимое файла и присвоил ему переменную %message% переименовал файл в .message.used и продолжил сканирование папки.
Буду признателен за любую помощь. Заранее спасибо.
-
alpap
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
IDROID,
Почти все что надо:
Код:
Цитата IDROID:
считал содержимое файла и присвоил ему переменную %message%
Это, в-принципе, можно сделать поигравшись с буфером и js, но зачем, с помощью того как это реализовано в стр5, загоняете содержимое туда куда...
Проверку на наличие через планировщик, нечего ему отдыхать, а вот, если файлов *.message, будет несколько, то уже вопрос к вам как поступать.
Почти все что надо:
Код:
Код: Выделить всё
@echo off
set "d=papka"
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
set "user=%%~na"
copy/y "%d%\%%a" "%d%\.message.used"
del /q "%d%\%%a"
)
pause>nulЦитата IDROID:
считал содержимое файла и присвоил ему переменную %message%
CMD/BAT - Сканирование папки на файлы с определённым расширением
Это, в-принципе, можно сделать поигравшись с буфером и js, но зачем, с помощью того как это реализовано в стр5, загоняете содержимое туда куда...
Проверку на наличие через планировщик, нечего ему отдыхать, а вот, если файлов *.message, будет несколько, то уже вопрос к вам как поступать.
-
IDROID
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
Цитата alpap:
Почти все что надо:
Код:
@echo off
set "d=papka"
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
set "user=%%~na"
copy/y "%d%\%%a" "%d%\.message.used"
del /q "%d%\%%a"
)
pause>nul
Создается только один файл ".message.used". Я чуть-чуть изменил скрипт вот так :
@echo off
set "d=%USERPROFILE%\Desktop"
echo %d%
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
set "user=%%~na"
echo "%user%"
copy/y "%d%\%%a" "%d%\%%a.used" >nul
del /q "%d%\%%a"
)
echo Testmsg
pause
Теперь нормально исполняется, но переменная все же только с именем последнего файла, а не каждого по очереди. Можно реализовать вывод переменной с разными значениями для каждого файла?
Почти все что надо:
Код:
@echo off
set "d=papka"
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
set "user=%%~na"
copy/y "%d%\%%a" "%d%\.message.used"
del /q "%d%\%%a"
)
pause>nul
CMD/BAT - Сканирование папки на файлы с определённым расширением
Создается только один файл ".message.used". Я чуть-чуть изменил скрипт вот так :
@echo off
set "d=%USERPROFILE%\Desktop"
echo %d%
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
set "user=%%~na"
echo "%user%"
copy/y "%d%\%%a" "%d%\%%a.used" >nul
del /q "%d%\%%a"
)
echo Testmsg
pause
Теперь нормально исполняется, но переменная все же только с именем последнего файла, а не каждого по очереди. Можно реализовать вывод переменной с разными значениями для каждого файла?
-
alpap
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
Цитата IDROID:
вывод переменной с разными значениями
Не понял юмора. В цикле у переменной и есть разные значения, напишите, например, вместо строки
Код:
, строку
Код:
и получите в директории bat файла столько созданных .txt файлов сколько файлов .meesage и с их именем соответственно.
вывод переменной с разными значениями
CMD/BAT - Сканирование папки на файлы с определённым расширением
Не понял юмора. В цикле у переменной и есть разные значения, напишите, например, вместо строки
Код:
Код: Выделить всё
set "user=%%~na", строку
Код:
Код: Выделить всё
break>"%%~na.txt"и получите в директории bat файла столько созданных .txt файлов сколько файлов .meesage и с их именем соответственно.
-
IDROID
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
Цитата alpap:
Цитата IDROID:
вывод переменной с разными значениями
Не понял юмора. В цикле у переменной и есть разные значения, напишите, например, вместо строки
Код:
, строку
Код:
и получите в директории bat файла столько созданных .txt файлов сколько файлов .meesage и с их именем соответственно.
Возможно, я плохо объяснил
Давайте еще раз)
Есть папка, в которую постоянно будут приходить файлы с расширением .message. Нужен скрипт, который будет постоянно сканировать эту папку на эти файлы, поочередно брать имя файла и придавать ему переменную %user%. Потом читает содержимое файла и придает ему переменную %message%.
Потом выводит все это в формате :
[%date%-%time%][%user%] : %message%
И снова проделывать те же действия для других файлов с расширением .message.
Возможно такое сделать на cmd?
Цитата IDROID:
вывод переменной с разными значениями
CMD/BAT - Сканирование папки на файлы с определённым расширением
Не понял юмора. В цикле у переменной и есть разные значения, напишите, например, вместо строки
Код:
Код: Выделить всё
set "user=%%~na", строку
Код:
Код: Выделить всё
break>"%%~na.txt"и получите в директории bat файла столько созданных .txt файлов сколько файлов .meesage и с их именем соответственно.
Возможно, я плохо объяснил
Давайте еще раз)
Есть папка, в которую постоянно будут приходить файлы с расширением .message. Нужен скрипт, который будет постоянно сканировать эту папку на эти файлы, поочередно брать имя файла и придавать ему переменную %user%. Потом читает содержимое файла и придает ему переменную %message%.
Потом выводит все это в формате :
[%date%-%time%][%user%] : %message%
И снова проделывать те же действия для других файлов с расширением .message.
Возможно такое сделать на cmd?
-
alpap
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
Цитата IDROID:
Потом выводит все это в формате
- куда?
Потом выводит все это в формате
CMD/BAT - Сканирование папки на файлы с определённым расширением
- куда?
-
IDROID
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
Цитата alpap:
- куда?
В окно командной строки
- куда?
CMD/BAT - Сканирование папки на файлы с определённым расширением
В окно командной строки
-
alpap
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
IDROID,
как сделать красивее вывод я не знаю (не умею)
Код:
.
как сделать красивее вывод я не знаю (не умею)
Код:
Код: Выделить всё
@echo off
set "d=%USERPROFILE%\Desktop"
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
for /f "delims= eol=" %%b in ('type "%d%\%%~a"^|more') do (
echo:%date%-%time:~,8% %%~na %%b
))
pause>nul.
-
IDROID
Re: CMD/BAT - Сканирование папки на файлы с определённым расширением
Цитата alpap:
IDROID,
как сделать красивее вывод я не знаю (не умею)
Код:
@echo off
set "d=%USERPROFILE%\Desktop"
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
for /f "delims= eol=" %%b in ('type "%d%\%%~a"^|more') do (
echo:%date%-%time:~,8% %%~na %%b
))
pause>nul
Спасибо)
IDROID,
как сделать красивее вывод я не знаю (не умею)
Код:
@echo off
set "d=%USERPROFILE%\Desktop"
for /f "delims= eol=" %%a in ('dir/a-d/b "%d%\*.message"') do (
for /f "delims= eol=" %%b in ('type "%d%\%%~a"^|more') do (
echo:%date%-%time:~,8% %%~na %%b
))
pause>nul
CMD/BAT - Сканирование папки на файлы с определённым расширением
Спасибо)