2012-02-24 90 views
1

pdftk工具「dump_data」函數可用於提供有關pdf的元信息,包括頁數。下面的命令Win bat文件:如何將FIND的結果導入新變量?

pdftk test.pdf dump_data | find "NumberOfPages" 

...輸出完整的數據轉儲行,例如:

"Number of pages: 32" 

我怎樣才能獲得(在上述情況下32)的計數值成新變量在bat文件中進一步處理?

回答

3

如果行的格式是固定的,相匹配還有你的一個,你可以嘗試這樣的事:

@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 ...線只是出於測試目的,並且FOR迴路的TYPE testfile部分應該由您的pdftk test.pdf dump_data替換。

2

試試這個:

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 
) 

請注意,你有,如果你在一個批處理文件,用它來使用兩個%在每個變量的前面在上面的例子。如果您直接從控制檯運行它,請只使用一個%

相關問題