【问题标题】:Code 255 due to unexpected command代码 255 由于意外命令
【发布时间】:2016-12-26 18:10:49
【问题描述】:

我正在尝试使用以下代码终止 6373 端口上的进程(如建议的 here):

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

如果我在本地机器上从cmd 运行它,这将有效...

得到了

6373') was unexpected at this time.
Process exited with code 255

如果我尝试在 TeamCity Windows 代理上将其作为构建步骤运行

我尝试了tokens=4 而不是tokens=5 以及%%P 而不是%P,但得到了相同的结果。谁能指出我的错误?

【问题讨论】:

  • 您是否只是在构建代理机器的命令行上运行脚本?
  • 是的。我只是从cmd 运行它

标签: windows cmd teamcity


【解决方案1】:

可以重写代码以消除未知数量令牌的不确定性。

来自控制台窗口的单行:

@Set "PID=" & @(For /F "Tokens=*" %a In ('NetStat -a -n -o^|Find ":6373 "') Do @For %b In (%a) Do @Set PID=%b) & @If Defined PID TaskKill /F /PID %PID%

批处理文件版本:

@Echo Off
SetLocal
Set "PID="
For /F "Tokens=*" %%a In ('NetStat -a -n -o^|Find ":6373 "') Do (
    For %%b In (%%a) Do Set PID=%%b
)
If Defined PID TaskKill /F /PID %PID%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2016-02-04
    相关资源
    最近更新 更多