
7zip を使用してファイルをそのままバッチ圧縮する方法はすでに学習しましたが、この問題についてはより複雑なニーズがあります。次のシナリオで私のニーズを説明できるかもしれません。
図面とモデル ファイルのバックアップ フォルダーがあり、それらはクライアントのサブフォルダー内にあるため、フォルダー ツリーは次のようになります。
フォルダ01\ファイル1。アブ、ファイル2。アブ、ファイル3.def、ファイル4.def
または
フォルダ02\フォルダ03\ファイル1。アブ、ファイル2.def
...等々。
このような状況に対して、元のファイルの横に各 *.abc ファイルを圧縮して元の場所に置く方法や同様の解決策はありますか?
答え1
次のバッチ ファイルをフォルダーのルートに保存し、そこで実行してみてください。
@echo off
for /R %%f in (*.abc) do (7za a %%~pf%%~nf.zip %%f)
これは、バッチ ファイル/R
に対して、フォルダー内の任意の ( ) ファイルを再帰的に ( ) 検索し*.abc
、コマンドを実行するように指示します7za
。
%%~pf
はループ内の現在のパス、%%~nf
は拡張子のないファイル名なので、その後に . を追加します.zip
。 はループ内の%%f
現在のフルパスです。*.abc