3

我正在使用这些行来提取文件夹中的所有 JAR 文件,目标可以是相同的:

<b>set SEVENZIP_EXE=C:\Program Files\7-Zip\<br>
set INPUT_FOLDER=D:\jar

for /f "tokens=1-2 delims=. " %%a in ('dir *.jar /a-d/b') do "%SEVENZIP_EXE%" x -aoa -o"%INPUT_FOLDER%" %%a.%%b

但我得到的只是: %%a 在这个时候是出乎意料的。!!

有什么建议吗?
谢谢

4

1 回答 1

3

您在命令提示符下运行它,而不是在批处理文件上。如果您在提示符下,您应该只使用一个 %:

set INPUT_FOLDER=D:\jar

for /f "tokens=1-2 delims=. " %a in ('dir *.jar /a-d/b') do "%SEVENZIP_EXE%" x -aoa -o"%INPUT_FOLDER%" %a.%b

我还注意到您没有正确设置 7-zip 可执行文件的路径:

set SEVENZIP_EXE=C:\Program Files\7-Zip\7z.exe

如果它不起作用,请尝试将其作为批处理文件运行

@echo off

set SEVENZIP_EXE=C:\Program Files\7-Zip\7z.exe
set INPUT_FOLDER=D:\jar

for /f "tokens=1-2 delims=. " %%a in ('dir *.jar /a-d/b') do "%SEVENZIP_EXE%" x -aoa -o"%INPUT_FOLDER%" %%a.%%b
于 2013-09-24T14:57:43.567 回答