批处理文件循环包含太多文件

批处理文件循环包含太多文件

我正在使用批处理文件通过 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"
)

相关内容