输出带有管道到变量的批处理文件命令的结果

时间:2018-02-09 20:46:02

标签: windows batch-file

以下Windows批处理文件将导致1或0.我试图将1或0输出变为变量,以便我可以使用逻辑进行进一步处理:

@echo off
set page=1    
pdftr.exe -searchtext "INFORME A LOS PADRES - KINDERGARTEN" -pagerange %page% in-whole.pdf' | 'find /C "Search keyword in page"

我认为我可以根据StackOverflow上的其他信息这样做,但是,我不认为管道是允许的,因为我收到错误“|此时出乎意料。”这是我试过的:

@echo off
set page=1
for /f %%i in ('pdftr.exe -searchtext "INFORME A LOS PADRES - KINDERGARTEN" -pagerange %page% in-whole.pdf' | 'find /C "Search keyword in page") do set RESULT=%%i
echo The result is: %RESULT%

有没有办法可以接受我的命令并将结果(1或0)输出到变量,这样我就可以在批处理文件中的其他逻辑中使用它了?

另外,只是或某些背景,我最终要做的是确定pdf文件的年级和语言(英语或西班牙语),以便我可以使用cpdf为pdf添加适当的插入。但是我被困在这一部分。

1 个答案:

答案 0 :(得分:0)

你需要逃脱|,这是一个带有插入符号的特殊字符。

@echo off
 set page=1
 for /f %%i in ('pdftr.exe -searchtext "INFORME A LOS PADRES - KINDERGARTEN" -pagerange %page% in-whole.pdf' ^| 'find /C "Search keyword in page") do set RESULT=%%i
echo The result is: %RESULT%