今天想將服務器上的服務寫成批處理文件,方便機器重啟時,啟動所有需要啟動的服務
1.新建start.bat
新建文本文件,改名為start.bat
注:
為了防止亂碼,將文件編碼改為:utf-8,保存
2.了解基本命令
@echo off 從本行開始關閉回顯(批處理第一行一般都是這個)
@ 關閉單行回顯
echo /? 顯示信息,或將命令回顯打開或關上。 ECHO [ON | OFF] ECHO [message] 要顯示當前回顯設置,鍵入不帶參數的 ECHO。
start
C:\Users\Administrator>start/? 啟動一個單獨的窗口運行指定的程序或命令。 START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B] [command/program] [parameters] "title" 在窗口標題欄中顯示的標題。 path 啟動目錄。 B 啟動應用程序,但不創建新窗口。應用程序已忽略 ^C 處理。 除非應用程序啟用 ^C 處理,否則 ^Break 是唯一可以中斷 該應用程序的方式。 I 新的環境將是傳遞給 cmd.exe 的原始環境,而不是當前環境。 MIN 以最小化方式啟動窗口。 MAX 以最大化方式啟動窗口。 SEPARATE 在單獨的內存空間中啟動 16 位 Windows 程序。 SHARED 在共享內存空間中啟動 16 位 Windows 程序。 LOW 在 IDLE 優先級類中啟動應用程序。 NORMAL 在 NORMAL 優先級類中啟動應用程序。 HIGH 在 HIGH 優先級類中啟動應用程序。 REALTIME 在 REALTIME 優先級類中啟動應用程序。 ABOVENORMAL 在 ABOVENORMAL 優先級類中啟動應用程序。 BELOWNORMAL 在 BELOWNORMAL 優先級類中啟動應用程序。 NODE 將首選非一致性內存結構 (NUMA) 節點指定為十進制整數。 AFFINITY 將處理器關聯掩碼指定為十六進制數字。進程被限制在這些 處理器上運行。 當 /AFFINITY 和 /NODE 結合時,會對關聯掩碼進行不同的解釋。 指定關聯掩碼,正如 NUMA 節點的處理器掩碼正確移動到零位 起始位置一樣。進程被限制在指定關聯掩碼和 NUMA 節點之間的 那些通用處理器上運行。如果沒有通用處理器,則進程被限制在 指定的 NUMA 節點上運行。 WAIT 啟動應用程序並等待它終止。 command/program 如果它是內部 cmd 命令或批文件,則該命令處理器是使用 cmd.exe 的 /K 開關運行的。這表示運行該命令之后,該窗口 將仍然存在。 如果它不是內部 cmd 命令或批文件,則它就是一個程序,並將 作為一個窗口化應用程序或控制台應用程序運行。 parameters 這些是傳遞給 command/program 的參數。
cmd
C:\Users\Administrator>cmd/? 啟動 Windows 命令解釋器的一個新實例 CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string] /C 執行字符串指定的命令然后終止 /K 執行字符串指定的命令但保留 /S 修改 /C 或 /K 之后的字符串處理(見下) /Q 關閉回顯 /D 禁止從注冊表執行 AutoRun 命令(見下) /A 使向管道或文件的內部命令輸出成為 ANSI /U 使向管道或文件的內部命令輸出成為 Unicode /T:fg 設置前台/背景顏色(詳細信息見 COLOR /?) /E:ON 啟用命令擴展(見下) /E:OFF 禁用命令擴展(見下) /F:ON 啟用文件和目錄名完成字符(見下) /F:OFF 禁用文件和目錄名完成字符(見下) /V:ON 使用 ! 作為分隔符啟用延遲的環境變量 擴展。例如,/V:ON 會允許 !var! 在執行時 擴展變量 var。var 語法會在輸入時 擴展變量,這與在一個 FOR 循環內不同。 /V:OFF 禁用延遲的環境擴展。
3.示例
start.bat
@echo off start cmd /k "cd/d E:\test &&java -jar test1.jar" @echo off start cmd /k "cd/d E:\test &&java -jar test2.jar"
雙擊執行start.bat,會打開兩個命令窗口
當使用 cmd /k,按下ctrl+c,會終止執行,原窗口不會關閉
當換成cmd /c,按下ctrl+c,會終止執行,原窗口會關閉