Мне нужен.bat для compact.exe и игнорирования типов файлов?
Я использую планировщик задач, чтобы запускать пакетный файл каждые несколько дней, чтобы сжимать файлы на резервном диске и помещать на него больше файлов.
Это то, что я использую
H:
compact /c /s /i /exe:lzx
exit
Можно ли, например, запустить этот процесс и игнорировать файлы.7z? Я мог бы добавить.mp4 .mkv в список, чтобы его игнорировать, так как эти файлы обычно в любом случае сжимаются.
Спасибо
1 ответ
Вы можете использовать цикл For /R вместе с некоторой условной логикой If для сжатия файлов, только если расширение файла НЕ.7z
используя некоторые простые FOR
замены цикла, чтобы получить расширение файла от каждого повторного значения имени файла, которое обрабатывает цикл, и путем указания имен файлов с помощью команды.
скрипт
set Src=H:\
for /r "%Src%" %%a IN (*) DO IF /I NOT [%%~Xa]==[.7z] compact /c /s /i /exe:lzx "%%~a"
::::for /r "%Src%" %%a IN (*) DO IF /I NOT [%%~Xa]==[.7z] IF /I NOT [%%~Xa]==[.mp4] IF /I NOT [%%~Xa]==[.mkv] compact /c /s /i /exe:lzx "%%~a"
exit
Дополнительные ресурсы
- FOR /R
- ЕСЛИ
Пакетные замены (ЗА /?)
Кроме того, была улучшена замена ссылок на переменные FOR. Теперь вы можете использовать следующий необязательный синтаксис:
%~nI - expands %I to a file name only
Syntax COMPACT [/C | /U] [/S[:dir]] [/A] [ /I] [/F] [/Q] [filename [...]] Key filename Specifies a pattern, file, or directory.