Exit 與 Goto :eof 在批處理中的區別【轉】


  1. 在 CMD 命令提示符窗口直接運行:

     

    1.) 運行 Goto :eof 后,CMD 返回並將等待下一命令。 

     

    2.) 運行 Exit 后,CMD 將直接關閉並返回到曾啟動 Cmd.exe 的程序或返回到“資源管理器”。

     

    3.) 運行 Exit /b 后,CMD 將直接關閉並返回到曾啟動 Cmd.exe 的程序或返回到“資源管理器”。

     

    Exit

    退出當前批處理腳本或 Cmd.exe 程序(即,命令解釋程序)並返回到曾啟動 Cmd.exe 的程序或返回到“程序管理器”。

    語法

    exit [/b] [ExitCode]

    參數

    /b
    退出當前批處理腳本。
    ExitCode
    指定數字編號。
    /?
    在命令提示符顯示幫助。

    注釋

    • 如果在批處理腳本之外使用 /b,就會退出 Cmd.exe。
    • 如果使用 /b,Cmd.exe 將 ERRORLEVEL 設置為指定的 ExitCode。如果退出 Cmd.exe,Cmd.exe 則使用指定的 ExitCode 設置進程退出代碼。

     

  2. 在批處理的最后一個執行語句里使用:

     

    1.) 使用 Goto :eof ,雙擊該批處理,運行完成后 CMD 窗口關閉;在 CMD 中運行此批處理,運行完成后 CMD 返回並將等待下一命令。

     

    @echo off

    pause

    goto :eof

     

    2.) 使用 Exit ,雙擊該批處理,運行完成后 CMD 窗口關閉;在 CMD 中運行此批處理,運行完成后 CMD 將直接關閉並返回到曾啟動 Cmd.exe 的程序或返回到“資源管理器”。

     

    @echo off

    pause

    exit

     

    3.) 使用 Exit /b ,雙擊該批處理,運行完成后 CMD 窗口關閉;在 CMD 中運行此批處理,運行完成后 CMD 返回並將等待下一命令。

     

    @echo off

    pause

    exit /b

     

  3. 在 Call 的子標簽中:

     

    1.)

     

    @echo off
    for /l %%i in (1 1 3) do call :han%%i
    pause&goto :eof
    :han1
    echo 執行了:han1
    goto :eof
    echo 多余1
    :han2
    echo 執行了:han2
    goto :eof
    echo 多余2
    :han3
    echo 執行了:han3
    goto :eof
    echo 多余3

     

    使用 Goto :eof ,將返回到 call 命令,for 也將繼續循環迭代。

     

    2.)  

     

    @echo off
    for /l %%i in (1 1 3) do call :han%%i
    pause&exit
    :han1
    echo 執行了:han1
    exit
    echo 多余1
    :han2
    echo 執行了:han2
    exit
    echo 多余2
    :han3
    echo 執行了:han3
    exit
    echo 多余3

     

    使用 Exit ,批處理將被直接退出,不能返回到 Call ,for 循環迭代被終止。

     

    3.)  

     

    @echo off
    for /l %%i in (1 1 3) do call :han%%i
    pause&exit /b
    :han1
    echo 執行了:han1
    exit /b
    echo 多余1
    :han2
    echo 執行了:han2
    exit /b
    echo 多余2
    :han3
    echo 執行了:han3
    exit /b
    echo 多余3

     

    使用 Exit /b ,將返回到 call 命令,for 也將繼續循環迭代。

     

  4. 特例:

     

    有一些情況下,在 CMD 窗口下運行 Exit 並不是退出 CMD ,例如:

    在 Ftp 子系統中,運行 ! ,從 ftp 子系統臨時退出到命令提示符下,這時運行 Exit ,將返回到 ftp 子系統。 

     

    C:\WINDOWS\system32\命令提示符本文轉自http://blog.sina.com.cn/hygxchxz

    Microsoft Windows XP [版本 5.1 2600]
    <C> 版權所有 1985-2001 Microsoft Corp.

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>Ftp
    ftp> !

    Microsoft Windows XP [版本 5.1 2600]
    <C> 版權所有 1985-2001 Microsoft Corp.

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>Exit
    ftp> Quit

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>

    本文轉自http://blog.sina.com.cn/hygxchxz

    智能 ABC 半:

     

    在命令提示符下嵌套新實例 CMD.exe 時,運行 Exit 關閉嵌套的命令行解釋器,而不是父命令行解釋器。

     

    C:\WINDOWS\system32\命令提示符本文轉自http://blog.sina.com.cn/hygxchxz

    Microsoft Windows XP [版本 5.1 2600]
    <C> 版權所有 1985-2001 Microsoft Corp.

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>CMD

    Microsoft Windows XP [版本 5.1 2600]
    <C> 版權所有 1985-2001 Microsoft Corp.

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>Exit

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>

    本文轉自http://blog.sina.com.cn/hygxchxz

    智能 ABC 半:

     

  5. 關於 goto : eof 的詳解:

     

    功能:可以在不定義標簽的情況下將控制傳送到當前批處理腳本文件的末端。

     

    注釋: 必須滿足以下兩個條件。

     

    1.) 啟用了命令擴展(即默認狀態)。

    2.) 使用 goto 和 :EOF 標簽時,必須在標簽前插入冒號。

     

  6. 關於 exit /b [ExitCode] 的詳解:

     

    功能: Cmd.exe 將 ERRORLEVEL 設置為指定的 ExitCode。如果退出 Cmd.exe,Cmd.exe 則使用指定的 ExitCode 設置進程退出代碼。

     

    示例: 必將下面的批處理保存到C盤,並命名為han.bat。

     

    @echo off
    echo 命令
    exit /b 30194447
     

    然后,我們在 CMD 命令提示符下進行操作:

     

    C:\WINDOWS\system32\命令提示符本文轉自http://blog.sina.com.cn/hygxchxz

    Microsoft Windows XP [版本 5.1 2600]
    <C> 版權所有 1985-2001 Microsoft Corp.

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>C:\han.bat

    命令

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>Echo %errorlevel%
    30194447

    本文轉自http://blog.sina.com.cn/hygxchxz

    C:\Documents and Settings\寒夜孤星>

    本文轉自http://blog.sina.com.cn/hygxchxz

    智能 ABC 半:

 
轉自
Exit 與 Goto :eof 在批處理中的區別_寒夜孤星_新浪博客
http://blog.sina.com.cn/s/blog_51a4af870100e0st.html

 


免責聲明!

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



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