2016-06-14 8 views
-2
for /r %%I IN (' *.zip ') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpnI" "%%I" 
) 
pause 

こんにちは、私はファイルを再帰的に解凍するこのバッチコマンドをオンラインにしました。 この場合、Forループが何をするのか理解したいと思います。ファイルを解凍するためにこのバッチファイルコマンドを説明してください

このコマンドは、* .zip以外の拡張子のフォルダとファイルも選択して、次のエラーをスローするため、batファイルを実行するとエラーが発生するため、この質問をしています。

D:\Unzip_folders\New folder>("C:\Program Files\7-Zip\7z.exe" x -o"D:\Unzip_folders\New folder\23Nov2015\error_log.17112015\'" "D:\Unzip_folders\New folder\23Nov2015\error_log.17112015\'") 

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 

Scanning the drive for archives: 

ERROR: The system cannot find the file specified. 
D:\Unzip_folders\New folder\23Nov2015\error_log.17112015\' 
+0

コマンドプロンプトウィンドウを開き、 '/ for'を実行し、 '%〜dpnI'(見つかったファイルの拡張子なしのドライブ文字、パス、名前)と'%I'見つかったファイルを拡張子付きで検索する7-Zipには、コマンド 'x'(解凍)と' -o'を切り替えるためのヘルプがあります。 – Mofi

答えて

0

エラーメッセージを分析すると、ファイル名の末尾にそれぞれ'が表示されます。それは間違った種類の引用符を使用するためです。

は完全にそれらをスキップ:

for /r %%I IN (*.zip) DO (

または二重引用符を使用する:

for /r %%I IN ("*.zip") DO (
+0

あなたの返信ありがとうございます。 – user4308101

0
for /r %%I IN (*.zip) DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpnI" "%%I" 
) 
pause 

あなたのコードが間違っています。これは適切なものです。

関連する問題