如何在 Windows 批处理文件中正确引用带有参数的命令

How to correctly quote a command with parameters in a Windows batch file

我正在尝试使用具有 command line options 的 PDF X-Change Viewer 在多个 windows 的多个选项卡中打开多个 PDF 文件。同一行中列出的所有 PDF 文件都在相同的 window.

中打开

为了允许脚本继续运行而无需等待在每行上创建的 windows 关闭,我正在尝试使用 start。然而,start 似乎需要一些笨拙的引用,这在尝试传递参数时产生了问题。


以下脚本可以工作:

start "" "C:\PDF Viewer\PDFXCview.exe" "G:\my pdfs\file1.pdf" "G:\my pdfs\file2.pdf"
start "" "C:\PDF Viewer\PDFXCview.exe" "G:\my pdfs\file3.pdf" "G:\my pdfs\file4.pdf"

以下脚本不起作用

(它只打开每行中的第一个文件,尽管该文件遵循页面和缩放):

start "" "C:\PDF Viewer\PDFXCview.exe" /A "page=1&zoom=33.3" "G:\my pdfs\file1.pdf" "G:\my pdfs\file2.pdf"
start "" "C:\PDF Viewer\PDFXCview.exe" /A "page=1&zoom=33.3" "G:\my pdfs\file3.pdf" "G:\my pdfs\file4.pdf"

如果我不使用 start,只需 运行: "C:\PDF Viewer\PDFXCview.exe" /A "page=1&zoom=33.3" "G:\my pdfs\file1.pdf" "G:\my pdfs\file2.pdf" 使用参数即可。

使用启动时,为每个要打开的文件指定/A命令和参数:

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