cmd 管道 -> 系统找不到指定路径

cmd 管道 -> 系统找不到指定路径

在 Windows 10 Pro 21H2 上使用cmd时,我尝试

echo Hello | find "Bye"

我明白了The system cannot find the specified path。如果尝试

echo Hello | C:\Windows\System32\find.exe "Bye"

因此这PATH似乎不是问题。

我需要这个工作是因为 Visual Studio Code 连接到 ssh 服务器的方式:

type "C:\Users\thomedes\AppData\Local\Temp\vscode-linux-multi-line-command-vpc-13769646.sh" | ssh -T -D 64480 server bash

这给出了完全相同的问题。

编辑:

刚刚在装有 Windows XP 的旧机器上试过。运行完美。

编辑:

系统信息。它是西班牙语的,但应该很容易理解。这是正常的 Windows 10 安装。没有魔术。

C:\Users\thomedes>dir echo*
El volumen de la unidad C es Windows
El número de serie del volumen es: XXXX-XXXX

Directorio de C:\Users\thomedes

No se encuentra el archivo

C:\Users\thomedes>dir find*
El volumen de la unidad C es Windows
El número de serie del volumen es: XXXX-XXXX

Directorio de C:\Users\thomedes

No se encuentra el archivo

C:\Users\thomedes>where find
C:\Windows\System32\find.exe

C:\Users\thomedes>where echo
INFORMACIÓN: no se pudo encontrar ningún archivo para los patrones dados.

更多信息,这样做可以正常运行:

C:\Users\thomedes>echo Hello > foo
C:\Users\thomedes>find "Bye" < foo

答案1

我自己回答是因为 Windows 更新后问题就消失了。

感谢微软!

答案2

在管道中进行 grep 时始终使用findstr(windows 的 grep 替代品)。find也做其他的事情。

这适用于任何 Windows 版本:

echo Hello | findstr "Bye"

相关内容