我正在使用一个 dos 批处理,它使用传递的参数处理文件:
process.bat "D:\PROJECT\TEST FILES\test.pdf" 72
进程.bat:
gswin32c -r%2 -sDEVICE=jpeg -sOutputFile="%~n1-%%d.jpg" -- "%~1"
我们可以看到参数被扩展为批处理中的文件名:%~n1
. 但是,我被要求重写批处理以从文本文件中读取参数:
参数.txt
1 D:\PROJECT\TEST FILES\test.pdf
2 72
所以我修改了process.bat:
for /f "tokens=1,*" %%A in ('type ..\params.txt') do set P%%A=%%B
gswin32c -r%P1% -sDEVICE=jpeg -sOutputFile="%~nP2%-%%d.jpg" -- "%~1"
但是 %~nP2% 不起作用。
我发现这for /f "tokens=*" %%A in (%P1%) do %%~dA
可以帮助我,但看起来很麻烦。
那么有没有其他方法可以将任意变量扩展为名称、驱动器、路径等?