批處理命令 call
阿新 • • 發佈:2018-11-05
dir 引號 batch 驅動 pre 字符 批處理 不用 路徑
call 命令 CALL命令可以在批處理執行過程中調用另一個批處理,當另一個批處理執行完後,再繼續執行原來的批處理 CALL command 調用一條批處理命令,和直接執行命令效果一樣,特殊情況下很有用,比如變量的多級嵌套,見教程後面。在批處理編程中,可以根據一定條件生成命令字符串,用call可以執行該字符串,見例子。 CALL [drive:][path]filename [batch-parameters] 調用的其它批處理程序。filename 參數必須具有 .bat 或 .cmd 擴展名。 CALL :label arguments 調用本文件內命令段,相當於子程序。被調用的命令段以標簽:label開頭 以命令goto :eof結尾。
例: @echo off Echo 產生一個臨時文件 > tmp.txt Rem 下行先保存當前目錄,再將c:\windows設為當前目錄 pushd c:\windows Call :sub tmp.txt Rem 下行恢復前次的當前目錄 Popd Call :sub tmp.txt pause Del tmp.txt exit :sub Echo 刪除引號: %~1 Echo 擴充到路徑: %~f1 Echo 擴充到一個驅動器號: %~d1 Echo 擴充到一個路徑: %~p1 Echo 擴充到一個文件名: %~n1 Echo 擴充到一個文件擴展名: %~x1 Echo 擴充的路徑指含有短名:%~s1 Echo 擴充到文件屬性: %~a1 Echo 擴充到文件的日期/時間: %~t1 Echo 擴充到文件的大小: %~z1 Echo 擴展到驅動器號和路徑:%~dp1 Echo 擴展到文件名和擴展名:%~nx1 Echo 擴展到類似 DIR 的輸出行:%~ftza1 Echo. Goto :eof 例: set aa=123456 set cmdstr=echo %aa% call %cmdstr% pause 本例中如果不用call,而直接運行%cmdstr%,將顯示結果%aa%,而不是123456
批處理命令 call