请解释此批处理文件命令来解压文件
问题描述:
for /r %%I IN (' *.zip ') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpnI" "%%I"
)
pause
嗨,我得到这个批处理命令在线解压文件递归。 我想了解For循环在这种情况下的作用。请解释此批处理文件命令来解压文件
我在问这个问题,因为我在运行bat文件时收到错误,因为命令还会从* .zip中选取其他扩展名的文件夹和文件,并引发以下错误。
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\'
答
如果分析错误消息,你在每个文件名的最后注意到一个'
。那是因为你使用了错误的引号。
完全跳过他们:
for /r %%I IN (*.zip) DO (
或使用双引号:
for /r %%I IN ("*.zip") DO (
+0
感谢您的回复。请继续寻找帮助,我的代码可以正常工作。 – user4308101
答
for /r %%I IN (*.zip) DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpnI" "%%I"
)
pause
你的代码不正确。这是正确的。
打开一个命令提示符窗口,运行'for /?'并读取这个命令的输出帮助以解释'%〜dpnI'(驱动器号,路径和名称没有找到文件的扩展名)和'%I' 7-Zip有一个帮助解释命令'x'(摘录)和开关'-o'。 – Mofi