【问题标题】:"| was unexpected at this time" batch for loop fix [duplicate]“|此时出乎意料”批处理循环修复[重复]
【发布时间】:2019-05-14 04:52:38
【问题描述】:

我目前正在尝试制作一个批处理脚本,以查找给定机器上是否安装了程序,如果是,则将其输出到文件中。但是,当我尝试获取字符串时,我得到了一个“| 在这个时候是意外的”错误。

wmic product get name > C:\Users\%USERNAME%\Desktop\programswmic.txt
for /F "tokens=*" %%A in ('type C:\Users\%USERNAME%\Desktop\programswmic.txt | findstr /m "iTunes"') do (set var=%%A)
echo %var% > C:\Users\%USERNAME%\Desktop\endingoutput.txt

脚本的输出如下:

C:\Users\Landon\Desktop>test.bat

C:\Users\Landon\Desktop>wmic product get name  1>C:\Users\Landon\Desktop\programswmic.txt
| was unexpected at this time.

C:\Users\Landon\Desktop>for /F "tokens=*" %A in ('type C:\Users\Landon\Desktop\programswmic.txt | findstr /m "iTunes"') do (set var=%A)

C:\Users\Landon\Desktop>

我该如何解决这个问题?

【问题讨论】:

    标签: batch-file for-loop


    【解决方案1】:

    您需要使用^ 转义| 字符。

    wmic product get name > C:\Users\%USERNAME%\Desktop\programswmic.txt
    for /F "tokens=*" %%A in ('type C:\Users\%USERNAME%\Desktop\programswmic.txt^| findstr /m "iTunes"') do (set var=%%A)
    echo %var% > C:\Users\%USERNAME%\Desktop\endingoutput.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 2012-04-04
      • 1970-01-01
      相关资源
      最近更新 更多