9

特定のディレクトリ内のすべてのファイルを解凍し、解凍時にフォルダー名を保持したい。

次のバッチ スクリプトではうまくいきません。ファイルをフォルダーに入れずに大量のファイルをスローするだけで、終了しません。

ここで何が問題なのですか?

for /F %%I IN ('dir /b /s *.zip') DO (

    "C:\Program Files (x86)\7-Zip\7z.exe" x -y -o"%%~dpI" "%%I" 
)
4

4 に答える 4

30

これを試して:

for /R "C:\root\folder" %%I in ("*.zip") do (
  "%ProgramFiles(x86)%\7-Zip\7z.exe" x -y -o"%%~dpI" "%%~fI" 
)

または (Zip ファイルにちなんで名付けられたフォルダーにファイルを抽出する場合):

for /R "C:\root\folder" %%I in ("*.zip") do (
  "%ProgramFiles(x86)%\7-Zip\7z.exe" x -y -o"%%~dpnI" "%%~fI" 
)
于 2013-06-13T08:30:03.213 に答える
1

これを試して。

@echo off
for /F "delims=" %%I IN (' dir /b /s /a-d *.zip ') DO (
    "C:\Program Files (x86)\7-Zip\7z.exe" x -y -o"%%~dpI\%%~nI" "%%I" 
)
pause
于 2013-06-13T07:37:43.240 に答える