
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
意図しないファイル。
-filesを無視するにはどうすればいいですか*.xlsx
?
答え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"
)