在 Windows 批处理文件中扩展变量

Expanding variables in a Windows batch file

我在 Windows 批处理文件中 运行 以下命令:

start "" "C:\PDF Viewer\PDFXCview.exe" /A "page=1&zoom=33.3" "G:\my pdfs\file 1.pdf" /A "page=4&zoom=55.5" "G:\my pdfs\file 2.pdf"

工作完美,并使用各自的参数打开两个 PDF 文件。但是,为了使过程更清晰,我想开始使用变量代替 PDF 文件(甚至是 PDF 查看器可执行文件)。但是,当我使用变量时,只有第一个 PDF 文件打开:

set PDF1="G:\my pdfs\file 1.pdf"
set PDF2="G:\my pdfs\file 2.pdf"
start "" "C:\PDF Viewer\PDFXCview.exe" /A "page=1&zoom=33.3" %PDF1% /A "page=4&zoom=55.5" %PDF2%

我应该提一下,如果我删除每个文件的 /A 命令和后续参数,我就不会遇到这个问题。

set 命令中引用错误。使用 set "variable=value" 语法如下:

set "PDF1=G:\my pdfs\file 1.pdf"
set "PDF2=G:\my pdfs\file 2.pdf"
start "" "C:\PDF Viewer\PDFXCview.exe" /A "page=1&zoom=33.3" "%PDF1%" /A "page=4&zoom=55.5" "%PDF2%"