Цитата:
Цитата Alexa_
Создающий в текущем каталоге (в котором находится запускаемый bat-файл) каталог с названием в виде «Screenshots_текущая_дата» и перемещающий туда из текущего каталога все файлы с расширением, указанном в качестве первого параметра, передаваемого из командной строки. »
|
Цитата:
Цитата megaloman
Set "OutPref=Screenshots_" »
|
Здесь прописывается префикс имени создаваемой папки, куда перемещаются файлы, при условии, что батник находится в одной папке с файлами, для сегодня это Screenshots_20220623
Цитата:
Цитата megaloman
Set "OutLog=Z:\screenshots.found »
|
Здесь прописан путь и имя лог-файла.
Расширение обрабатываемых файлов указывается при запуске батника. Если Ваш командный файл называется, например, batfile.bat, то для обработки txt-файлов надо запустить:
batfile.bat txt
Цитата:
пускай тогда будет WinRAR
|
Без создания промежуточной папки
Код:
@Echo Off
cls
Set "OutPref=Screenshots_"
Set "OutLog=Z:\screenshots.found
Set "Arc=C:\Program Files\WinRAR\WinRAR.exe"
If "%~1"=="" (
Echo %~dpnx0 запущен без аргумента &Echo.
Pause
Exit /B 2
)
FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "@Tdate=%%d" &Call Set "@Tdate=%%@TDate:~0,8%%"
"%Arc%" a -r -agYYYYMMDD -ap"%OutPref%%@Tdate%\" -logfp="%OutLog%" -df "%OutPref%.zip" "*.%~1"
pause
Exit /B 0
Префикс, путь к лог-файлу, путь к архивытору пропишите свои.
Вообще-то изначальная постановка слегка замудрёная, но клиент хотел так, получил такое решение и, надеюсь, удовлетворён, так как пометил пост как полезный.
Вообще-то при использовании WinRar батник вообще не нужен. Если Вам нужен результат, а не применение решения задачи, поставленной другим, то вот:
Код:
"C:\Program Files\WinRAR\WinRAR.exe" a -r -agYYYYMMDD -df -ep2 -logfp="Z:\screenshots.found" "Screenshots_.zip" "*.txt"