pdftk 工具“dump_data”功能可用于传递有关 pdf 的元信息,包括页数。以下命令...
pdftk test.pdf dump_data | find "NumberOfPages"
...输出完整的数据转储行,例如:
"Number of pages: 32"
如何将计数值(在上述情况下为 32)放入一个新变量中,以便在 bat 文件中进一步处理?
pdftk 工具“dump_data”功能可用于传递有关 pdf 的元信息,包括页数。以下命令...
pdftk test.pdf dump_data | find "NumberOfPages"
...输出完整的数据转储行,例如:
"Number of pages: 32"
如何将计数值(在上述情况下为 32)放入一个新变量中,以便在 bat 文件中进一步处理?
如果该行的格式是固定的并且与您显示的格式相匹配,您可以尝试这样的事情:
@ECHO OFF
>testfile ECHO Number of pages: 32
FOR /F "delims=: tokens=2" %%A IN ('TYPE testfile ^| FIND "Number of pages"') DO SET /A pagenum=%%A
ECHO %pagenum%
输出:
32
当然,>testfile ECHO ...
line 仅用于测试目的,循环的TYPE testfile
部分FOR
应替换为您的pdftk test.pdf dump_data
.
试试这个:
FOR /F "usebackq delims=" %%v IN (`pdftk test.pdf dump_data ^| find "Number of pages"`) DO (
FOR /F "delims=: tokens=1,2" %%i IN ("%%v") DO set NBPAGES=%%j
)
请注意,%
如果您在批处理文件中使用它,则必须在上述示例中的每个变量前面使用两个。如果您直接从控制台运行它,请仅使用一个%
.