2016-11-18 29 views
0

我正在使用node.js和windows批處理腳本來殺死具有特定端口的進程。雙引號和單引號在windows批處理腳本中創建問題以終止進程

它通過命令行非常死亡,但它不能通過批處理腳本工作。我認爲這是由於雙引號和單引號引起的問題?

就下面的代碼而言,它在LISTENING狀態下找到3000個端口並被殺死。

FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o ^| findstr :3000.*LISTENING') do (TaskKill.exe /PID %P /T /F) 

有人可以幫我解決這個問題嗎?

+1

在批處理文件中,FOR變量的百分號加倍。在幫助文件中說正確。 **要在批處理程序中使用FOR命令,請指定%%變量而不是%變量。** – Squashman

+0

請將此作爲回答發佈,我會接受它。謝謝! –

回答

0

「不工作」必須是本網站上最無用的描述。如果它DID工作,你不會問這個問題。

關於您的代碼的突出之處在於:必須是關鍵字do之後的空格。

你沒有指出你想找到什麼字符串。它似乎是:3000anynumberofanycharactersLISTENING使用默認的/r開關。我寧願那是在「報價」,但它不應該有所作爲。

+0

對於我現在更新的空間錯字,我感到抱歉。謝謝你,但我的問題是當我在node.js文件中的批處理腳本中添加相同的代碼,然後它不起作用。有人能告訴我什麼是問題或我需要做什麼修復? –