2017-10-11 6 views
0

ファイル名拡張子でファイルを検索し、見つかった各ファイルを別々のアーカイブ(1つずつ)にパックし、圧縮後にファイルを削除します。 アーカイブファイルは、ファイルが見つかった場所に保存する必要があります。特定の拡張子のファイルを個々の圧縮されたアーカイブに移動する

このタスクの2つのパラメータ、ファイルが見つかるはずのフォルダへのパス、およびこれらのファイルのファイル拡張子を特定することを期待しています。例えば

パス:d:\folder\ 拡張子:txt

見つかった名前は7zipをし、梱包に転送する必要がありますが、起動する必要があります。

7z a -mx9 -sdel d:\folder\subfolder1\filename1.txt.7z d:\folder\subfolder1\filename1.txt 

、それはなります後パックして削除:

7z a -mx9 -sdel d:\folder\subfolder2\filename2.txt.7z d:\folder\subfolder2\filename2.txt 
@If "%1"=="" (Set pathf=D:\folder\) else (Set pathf=%1) @If "%2"=="" (Set exmf=*.txt) else (Set exmf=%2)

が、私は正しい形式で7zipをするためにこの情報を送信する方法がわからない:

私は、コマンドラインを使用して検索する方法を発見しました。 7zipには問題を解決するオプションの-sdelがあるので、ファイルの削除には問題ありません。

+0

これはあなただけではないことを何か同様の番組を見つけることができなかったと言って、コーディング依頼サイトではありません複数の回答からあなたのソリューションを適応させてくれるでしょう。正確な質問が以前に聞かれていない可能性がありますが、特定のタスクに必要な部分は、_(引数の受け入れ、7-Zipの使用、ファイルの削除)でした。あなたは、あなたが必要とするすべてのタスクを実行しようとするコードをあなたの質問に組み込むために、もっと頑張ってください。 – Compo

答えて

1

あなたはこの行を追加し、あなたの質問からコマンドを使用して、変数を設定したら:

for /r "%pathf%" %%f in ("%exmf%") do 7z a -mx9 -sdel "%%f.7z" "%%f" 
+0

偉大な、クリトスKyriacou、ありがとう! –

関連する問題