cmd - 如何在bat文件中調用另外一個bat文件

情景一:兩個bat文件在同一個目錄下

有時候咱們須要在一個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

情景二:兩個bat文件不在同一個目錄下

假如要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窗口來運行另外一個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」

相關文章
相關標籤/搜索