Пакетный файл для цикла, включающего слишком много файлов

Пакетный файл для цикла, включающего слишком много файлов

Я использую пакетный файл для сжатия файлов в отдельные архивы с помощью 7-zip. Пакетный файл содержит эту строку:

FOR %%A IN (*.xls) DO "c:\program files\7-zip\7z.exe" u -mx9 -m0=lzma2:d16m "%%~nA.7z" "%%A"

К сожалению, из-за особенностей CMD эта строка сжимает оба *.xlsфайлаи *.xlsxфайлы, которые я не намерен.

Как мне заставить его игнорировать *.xlsx-files?

решение1

Все, что вам нужно сделать, это проверить расширение файла.

for %%A in (*.xls) do if /i "%%~xA"==".xls" (
    "c:\program files\7-zip\7z.exe" u -mx9 -m0=lzma2:d16m "%%~nA.7z" "%%A"
)

Связанный контент