错误“|在这个时候是意外的。”
问题描述:
我使用的代码如下使用端口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”。
如果您要编辑并解释*为什么海报应该这样做,这将是一个更好的答案。这将是一个教育的答案,不仅有益于这个问题的提问者,而且有益于未来的其他人。 *这个*没有提供关于为什么有必要这样做的任何信息。 –
非常感谢! – mikezang
更好的答案。 :-) –