错误“|在这个时候是意外的。”

问题描述:

我使用的代码如下使用端口8080删除程序,但我得到错误| was unexpected at this time.,我该怎么办?错误“|在这个时候是意外的。”

FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o | findstr :8080') DO TaskKill.exe /PID %P 

for内的条件必须由批量解析器解析,才可以将它传递给IN()子句为可执行命令。要保留特殊字符,如<,>,&,|,^或%,则必须在脚本中将其转义。批处理中的转义字符是“^”。

逃生用插入符竖线:

FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o ^| findstr :8080') DO TaskKill.exe /PID %P 

我也想补充一点,当保存为.bat和百分比字符必须进行转义为好。而不是“%P”,你需要使用“%% P”。

+3

如果您要编辑并解释*为什么海报应该这样做,这将是一个更好的答案。这将是一个教育的答案,不仅有益于这个问题的提问者,而且有益于未来的其他人。 *这个*没有提供关于为什么有必要这样做的任何信息。 –

+0

非常感谢! – mikezang

+0

更好的答案。 :-) –