使用批处理文件打开多个PDF文档

发布于 2024-07-15 09:57:36 字数 413 浏览 6 评论 0原文

我正在尝试使用简单的批处理文件打开多个 PDF 文档:

ECHO OFF
CLS
cd Program Files\Adobe\Reader 9.0\Reader
Acrord32.exe C:\Users\BW1.pdf
Acrord32.exe C:\Users\BW2.pdf
Acrord32.exe C:\Users\BW3.pdf
Acrord32.exe C:\Users\BW4.pdf
Acrord32.exe C:\Users\BW5.pdf
Acrord32.exe C:\Users\BW6.pdf
EXIT

上面的批处理文件仅打开第一个 PDF,然后等到我关闭它才能打开下一个 PDF 文件。 如何同时打开所有 PDF 文档? (就像进入Acrobat Reader,文件->打开->xx.pdf)

I am trying to open several PDF documents using a simple batch file:

ECHO OFF
CLS
cd Program Files\Adobe\Reader 9.0\Reader
Acrord32.exe C:\Users\BW1.pdf
Acrord32.exe C:\Users\BW2.pdf
Acrord32.exe C:\Users\BW3.pdf
Acrord32.exe C:\Users\BW4.pdf
Acrord32.exe C:\Users\BW5.pdf
Acrord32.exe C:\Users\BW6.pdf
EXIT

The above batch file opens the first PDF only, then waits until I close it for the next PDF file to open. How can I have all the PDF documents open at the same time? (Like going to Acrobat Reader, file->Open->xx.pdf)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

多彩岁月 2024-07-22 09:57:36

使用 start

start acrord32.exe 1.pdf
start acrord32.exe 2.pdf
start acrord32.exe 3.pdf

或者甚至(正如 Johannes Rössel 在下面的评论中建议的那样):

start 1.pdf
start 2.pdf
start 3.pdf

也可能有效(取决于您的默认 PDF 查看器)。

请注意,使用 start 时,使用带引号的参数时必须小心,因为以下内容将不起作用(第一个带引号的参数被解释为新控制台窗口的标题):

start "1.pdf"

相反,您将必须执行以下操作:

start "" "1.pdf"

这是 start 的一个恼人的怪癖,但在这种情况下,您必须有效地提供一个虚拟标题才能正确打开指定的文件(即使标题是不必要的,因为这不会创建一个新的控制台窗口)。

其他可用批处理命令的列表。

Use start:

start acrord32.exe 1.pdf
start acrord32.exe 2.pdf
start acrord32.exe 3.pdf

Or even (as Johannes Rössel suggests in the comment below):

start 1.pdf
start 2.pdf
start 3.pdf

Would probably work as well (depending on your default PDF viewer).

Note that when using start you have to be careful when using quoted arguments, as the following won't work (the first quoted argument is interpreted as the title for a new console window):

start "1.pdf"

Instead you'll have to do the following:

start "" "1.pdf"

It's an annoying quirk of start, but you have to effectively supply a dummy title in this case to properly open the specified file (even though the title is unnecessary as this won't create a new console window).

A list of other available batch commands.

幸福还没到 2024-07-22 09:57:36

对我来说,即使没有 start 命令它也能工作。 我经常在 cmd.exe Windows 中使用:

c:\path\to\my.pdf

,它总是打开 Acrobat Reader(我在 Windows 上的默认查看器)。 在我编写的通过 Ghostscript 生成 PDF 的批处理文件中,我的最后两行是:

"%ouptutpath%\%outputfile%.pdf"
"%outputpath%\%outputfile%-optimized.pdf"

它会自动在两个不同的阅读器窗口中打开生成的 PDF。 (我的 %outputpath% 包含空格,%outputfile% 也可能有一些...)

For me it works even without the start command. I use:

c:\path\to\my.pdf

in cmd.exe windows frequently, and it always opens Acrobat Reader (my default viewer on Windows). In a batchfile I've written to generate PDF via Ghostscript, my last two lines are:

"%ouptutpath%\%outputfile%.pdf"
"%outputpath%\%outputfile%-optimized.pdf"

which automatically opens both generated PDFs in two different Reader windows. (My %outputpath% contains spaces, the %outputfile% may also have some...)

夜还是长夜 2024-07-22 09:57:36

您是否尝试过 Acrobat Reader 是否允许在命令行上显示更多文件,即。

start acrord32.exe 1.pdf 2.pdf 3.pdf

Have you tried whether Acrobat Reader allows for more files on the commandline, ie.

start acrord32.exe 1.pdf 2.pdf 3.pdf
蔚蓝源自深海 2024-07-22 09:57:36

谢谢你!

使用 start 就成功了。 我必须使用 start 的次数与我要打开的 pdf 文档的数量一样多。 由于某种原因

启动 acrord32.exe 1.pdf 2.pdf 3.pdf

仅打开第一个文档。 所以我猜想 Acrobat reader 可能不允许在命令行上输入更多文件。

我非常感谢您的回答。

Thank you!

Using start did the trick. I had to use start as many times as the number of pdf documents I want to open. For some reason

start acrord32.exe 1.pdf 2.pdf 3.pdf

opens only the first document. So I guess Acrobat reader might not allow for more files on the command line.

I rally appreciate your answers.

霊感 2024-07-22 09:57:36

感谢以上各位的解答。

我也在下面尝试过,工作正常:

start /B excel.exe "D:\我的第一个文件.xlsx" "E:\我的第二个文件.xlsx" "D:\工作文件夹\我的第三个文件.xlsx"

Thanks for the above answers.

I also tried below, working fine:

start /B excel.exe "D:\my first file.xlsx" "E:\my second file.xlsx" "D:\working folder\my third file.xlsx"

鹊巢 2024-07-22 09:57:36

对于指定目录中的每个 pdf 文件,请对该文件使用启动命令:

for %f in ("C:\Users\*.pdf") do start %f

根据 Microsoft 文档:

For 为一组文件中的每个文件运行指定的命令。

for {%variable|%%variable} in (set) do command [CommandLineOptions]

For every pdf file in the specified directory, use the start command on that file:

for %f in ("C:\Users\*.pdf") do start %f

As per the Microsoft Docs:

For runs a specified command for each file in a set of files.

for {%variable|%%variable} in (set) do command [ CommandLineOptions]

花桑 2024-07-22 09:57:36

这是对上面 JSON C11 给出的答案的后续。
我检查了 Windows 10 操作系统,此时给出的命令如下并出现错误(“C:\Users*.pdf”)是意外的。
对于 %f ("C:\Users*.pdf") 执行 %f
缺少的是“在”。 正确的代码是...

    for %f in ("C:\Users\*.pdf") do start %f 

如果您有一个二进制文件来打开该特定类型的文件,并且您喜欢在最大化视图中打开,则可以使用以下代码。

    for %f in ("C:\Users\*.pdf") do start /max <path to binary> %f

This is follow up to the answer given by JSON C11 above.
I checked in Windows 10 OS, the command given as below with the error ("C:\Users*.pdf") was unexpected at this time.
for %f ("C:\Users*.pdf") do start %f
What is missing is 'in'. Correct code is...

    for %f in ("C:\Users\*.pdf") do start %f 

If you have a binary to open that particular type of file, and you like to open in maximized view, you can use the following code.

    for %f in ("C:\Users\*.pdf") do start /max <path to binary> %f
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文