簡體   English   中英

批處理腳本關閉所需的命令提示符窗口

[英]Batch script to close desired Command Prompt windows

首先,我有一個啟動4個Java程序的腳本:

@echo off
cd "C:\work\clientes\loremIpsum\loremIpsum\loremIpsum\target"
start "BROKER" java -jar loremIpsum-broker.jar

cd "C:\work\clientes\loremIpsum\loremIpsum\loremIpsum-virtual-devices-engine\target"
start "VIRTUAL-DEVICES-ENGINE" java -jar loremIpsum-virtual-devices-engine.jar

cd "C:\work\clientes\loremIpsum\loremIpsum\loremIpsum-websocket\target"
start "WEBSOCKET" java -jar loremIpsum-websocket.jar

cd "C:\work\clientes\loremIpsum\loremIpsum-loremIpsum\dandelion-workflow-engine\target"
start "WORKFLOW-ENGINE" java -jar loremIpsum-workflow-engine.jar
exit

我想制作一個僅關閉這4個腳本。我嘗試過使用wmic:

@echo off
wmic process where "name like '%java%'" delete
exit

但是我不希望它關閉我的其他Java應用程序,只有這4個

最可能的唯一已知命令行是其結尾,例如-broker.jar 因此,通配符%應該代表命令行的開始,即%-broker.jar (在批處理文件%%-broker.jar 因此,您將使用以下內容:

WMIC Process Where "CommandLine Like '%%-broker.jar'" Call Terminate

但是我會懷疑java.exe實際上是通過cmd.exe一個單獨實例傳遞初始命令的,並在另一個窗口中打開它,這可能是有問題的, 除非我們知道它傳遞了什么命令!

如果java命令實際上在新的cmd.exe窗口中打開,並且具有您指定的窗口標題BROKER ,則應該可以使用TaskKill終止它。 也許是這樣的:

TaskKill /F /FI "WindowTitle Eq BROKER" /T >Nul

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM