Arquivo em lote para loop incluindo muitos arquivos

Arquivo em lote para loop incluindo muitos arquivos

Estou usando um arquivo em lote para compactar arquivos em arquivos separados usando 7-zip. O arquivo em lote contém esta linha:

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

Infelizmente, devido à natureza do CMD, esta linha compacta ambos *.xlsos arquivose *.xlsxarquivos que eu não pretendo.

Como faço para ignorar *.xlsxarquivos?

Responder1

Tudo que você precisa fazer é testar qual é a extensão do arquivo

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

informação relacionada