【发布时间】:2021-11-15 15:11:33
【问题描述】:
我在 Windows 10 中有许多文件夹,每个文件夹都包含许多 PDF 文件。对于每个文件夹,我需要运行 GhostScript,并将文件夹的 PDF 文件作为输入,但将某个文件作为第一个文件。
每个文件夹都包含一个名为 "FirstFile-X.pdf" 的文件,其中 X 可以是任何东西,对于每个文件夹,我都需要该文件作为第一个输入。
我在批处理文件中有以下内容:
setlocal enableDelayedExpansion
set gs="C:\Program Files\gs\gs9.54.0\bin\gswin64.exe"
set options=-dNOPAUSE -q -dBATCH -sDEVICE=pdfwrite
%gs% -sDEFAULTPAPERSIZE=a4 -dBATCH
for /d %%d in (*) do (
set a=
set output=%%d.pdf
for %%f in (%%d\*.pdf) do (
set "a=!a!%%d^\%%~nxf "
)
%gs% %options% -sOutputFile=!output! !a!
)
上面的代码可以工作,但它不会将该特定文件作为第一个输入。是否可以让最里面的for-loop 按我需要的顺序遍历每个文件?
【问题讨论】:
标签: for-loop batch-file cmd windows-10 nested-for-loop