我有一个如下所示的目录:
giantzippedfile.zip
0.zip
file_0
1.zip
file_1
...
我想运行一个只留下file_i的脚本。
我希望使用这样的东西:
for /F %%I IN ('dir /b /s *.zip *.rar') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I"
)
但这只是给了我所有的i.zip而不是我想要的file_i。而剧本似乎是幂等的;再次运行它似乎没有做任何事情。
答案 0 :(得分:0)
(未经测试)尝试:
for /F %%I IN ('dir /b /s *.zip *.rar') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I"
rem change to the directory, extract zips, delete them and change back
pushd "%%~dpI"
for /F %%z IN ('dir /b /s *.zip *.rar') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"." "%%z"
del "%%z"
)
popd
)