批处理脚本没有正确排序列表

时间:2018-04-11 15:47:48

标签: batch-file

我为一个名为cpdf.exe的程序制作了一个批处理脚本,让我的生活变得更轻松,但它确实无法正常工作。

setlocal enabledelayedexpansion enableextensions
set LIST=
for %%x in ("*.pdf") do set LIST=!LIST! "%%x"

for /F %%a in ('dir /b /o-n *.pdf') do set FileName=%%~na

cpdf.exe -merge %LIST:~1% -o %FileName%_Combined.pdf

当我运行它时,生成的pdf出现混乱而不是数字顺序。我正在输入的pdf前缀为01,02 ...等..

我不确定我需要使它正确列出文件以按顺序生成PDF。

1 个答案:

答案 0 :(得分:1)

您可能会发现只通过一个For循环就可以更轻松地运行所有内容:

@Echo Off
SetLocal EnableDelayedExpansion
Set "LIST="
For /F "Delims=" %%A In ('Dir /B /O-N *.pdf') Do (
    Set "LIST="%%A" !LIST!"
    Set "FileName=%%~nA"
)
CPDF.exe -merge %LIST% -o "%FileName%_Combined.pdf"
Pause