win7下bat打開cmd執行命令


今天想將服務器上的服務寫成批處理文件,方便機器重啟時,啟動所有需要啟動的服務

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! 在執行時
        擴展變量 varvar 語法會在輸入時
        擴展變量,這與在一個 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,會終止執行,原窗口會關閉


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM