如何使用findstr的结果设置变量

时间:2013-01-06 20:36:22

标签: command-line batch-file

我正在尝试编写一个批处理文件,该文件搜索pdf文件并查找它们有多少页面并循环所有页面。

我写了以下内容。我可以找到这些文件,我甚至可以使用名为pdftk的工具找到页面数量。结果如下。

C:\Users\test\Documents\fishes\Fish_1.pdf
NumberOfPages: 5

如何设置值为5

的变量
@ECHO off
for /R %%i IN (*.pdf) DO (

ECHO %%i
"C:\Program Files (x86)\PDF Labs\PDFtk Server\bin\pdftk.exe" %%i dump_data | findstr NumberOfPages

set pagecount = findstr NumberOfPages ???

FOR /L %%j IN (1,1,%pagecount%) DO (
    ECHO "page " + %%j
)

)

1 个答案:

答案 0 :(得分:1)

你已经90%了。使用FOR / F命令处理命令的结果。在命令提示符下键入HELP FOR以获取更多信息。

for /f "tokens=2" %%A in (
  '"C:\Program Files (x86)\PDF Labs\PDFtk Server\bin\pdftk.exe" %%i dump_data ^| findstr NumberOfPages'
) do set numberOfPages=%%A