使用findstr执行管道命令

时间:2017-02-21 07:24:45

标签: windows batch-file for-loop findstr

我正在尝试获取包含特定字符串的文件的名称。以下命令可以做到这一点。

dir /a:-D /b | findstr /i "fileName.jar"

我尝试使用以下代码通过bat文件运行它。

for /F "delims=" %%a in ('dir /a:-D /b | findstr /i "fileName.jar"') do set "batToolDir=%%a"

但我收到以下错误。

| was unexpected at this time.

我需要获取包含某个字符串的文件的名称。我怎样才能做到这一点?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

“低于错误”??

你需要的是逃避|告诉cmd管道是要执行的命令的一部分,而不是for。您需要对所有重定向器执行此操作。

转义字符为^,因此在括号内用^|代替|。任何这种尴尬,尝试在引起问题的角色前插入^ ......