2017-07-02 60 views
0

我確信這是可以做到的,我只是不是100%確定如何。 我在我的個人計算機上託管專用服務器不會同時捱餓(DST),我使用一個.bat文件來啓動它:批處理文件將行插入打開的窗口

h:\steamcmd\steamcmd.exe +login anonymous +app_update 343050 validate +quit 
cd /D "h:\steamcmd\steamapps\common\Don't Starve Together Dedicated Server\bin" 
start dontstarve_dedicated_server_nullrenderer -console -cluster CarnageServer -shard Master 
start dontstarve_dedicated_server_nullrenderer -console -cluster CarnageServer -shard Caves 

它基本上開始2級連接的服務器(主&洞穴)並將它們作爲我桌面上開放的CMD窗口。 這一切運行良好等沒有問題。

但是,當我關閉我的電腦,我必須在兩個窗口中使用命令「c_shutdown(true)」來關閉並保存每臺服務器。 (我不能關閉窗口,它不會保存) 由於CMD窗口非常活躍,因此很難輸入任何內容。

我的問題是;有沒有辦法讓一個.bat文件可以在每個窗口中插入「c_shutdown(true)」行來執行命令?

然後,我基本上可以在我的桌面上留下一個快捷方式,雙擊它保存並關閉服務器,沒有太多麻煩。

感謝您的任何幫助。

+1

嘗試使用[sendkeys.bat](https://github.com/npocmaka/batch.scripts/blob/master/hybrids/jscript/sendKeys.bat) - 'call sendkeys.bat「server_console_title」「c_shutdown(true)」 ' - 它應該在單獨的cmd會話中執行。 – npocmaka

回答

0

這完全取決於標題欄中的標題。假設標題大師和洞,你可以不喜歡

@setlocal 
@set script="%temp%\exit.js" 
@echo var oShell = new ActiveXObject('WScript.Shell') > %script% 
@echo oShell.AppActivate(WScript.arguments(0)) >> %script% 
@echo oShell.SendKeys('c_shutdown(true)\r') >> %script% 

@cscript //NoLogo %script% Master 
@cscript //NoLogo %script% Cave 
@del %script% 
@endlocal 

我喜歡用@呼應關 - 你可以刪除你希望他們執行

看而不是看所有線路的線
相關問題