有時候咱們須要在一個bat文件中調用另外一個bat文件,好比咱們想在a.bat中調用b.bat,以下。spa
a.bat.net
@echo off
echo I am a.bat…
echo now run the b.bat
call b.bat
echo overcode
b.bat字符串
@echo off
echo I am b.bat…get
在cmd窗口中執行a.bat,結果以下:cmd
I am a.bat…
now run the b.bat
I am b.bat…
overclass
經過call
命令,咱們能夠調用另外一個bat文件,執行完會再返回到本來的bat文件中繼續執行。可是這裏有個問題,就是兩個bat文件必須在同一個目錄下,不然會找不到要call的bat文件。test
假如要call的bat文件在其餘目錄,咱們能夠在call以前,先使用cd /d 目錄
來進入相應的目錄,接着再call就好了,以下:call
a.bat文件
@echo off
echo I am a.bat…
echo now run the b.bat
cd /d D:\test
call b.bat
echo over
b.bat
@echo off
echo I am b.bat…
執行後獲得結果以下:
I am a.bat…
now run the b.bat
I am b.bat…
over
不過,這裏須要注意的是,此時執行完命令的cmd窗口的當前目錄是b.bat所在的目錄了,而不是a.bat的目錄。
假如咱們但願另外啓動一個新的cmd窗口來運行b.bat,能夠經過start cmd
命令來實現,以下:
a.bat
@echo off
echo I am a.bat…
echo now run the b.bat
cd /d D:\test
start 「」 cmd /k call b.bat
echo over
b.bat
@echo off
echo I am b.bat…
執行後獲得結果以下:
本來的cmd窗口中:
I am a.bat…
now run the b.bat
over
新的cmd窗口中:
I am b.bat…
這裏簡單解釋下該命令的參數:
start 「」 cmd /k call b.bat 「」是一段字符串,表明新打開的cmd窗口的名字,能夠隨便起名。 /k是表示新打開的cmd窗口在執行完命令後保存打開狀態,若是但願執行完就關閉窗口就使用/c call b.bat表示call命令,即調用b.bat文件;該命令能夠用」「括起來,即:」call b.bat」