批處理之call

1. call用法

1.1. 用法一

從批處理程序調用另一個批處理程序。

Rem CALL [drive:][path]filename [batch-parameters]
Rem 1和3是batch parameters,即命令行參數
call f:\test.bat 1 3

1.2. 用法二

將卷標當作調用的目標接受。

1.2.1. 源碼

rem CALL:label arguments
rem form snow.txt文件不存在,f:\test.txt存在,java.exe是java環境下的文件
call :Exit "from snow.txt" f:\test.txt java.exe
echo test
:Exit
echo 當前批處理路徑: %~f0
echo 第一個命令行參數: %1
echo 第一個命令行參數刪除引號: %~1

echo 第二個命令行參數: %2

rem 如果是相對路徑,自動補全當前路徑;如果是全路徑則不作處理
echo 第一個命令行參數擴展到完整路徑: %~f1
echo 第二個命令行參數擴展到完整路徑: %~f2

rem 如果是相對路徑,則取當前路徑的驅動器號;如果是全路徑則取其驅動器號
echo 第一個命令行參數取其驅動器號: %~d1
echo 第二個命令行參數取其驅動器號: %~d2

echo 第一個命令行參數取其路徑: %~p1
echo 第二個命令行參數取其路徑: %~p2
echo 第一個命令行參數取其文件名: %~n1
echo 第二個命令行參數取其文件名: %~n2
echo 第一個命令行參數取其擴展名: %~x1
echo 第二個命令行參數取其擴展名: %~x2
echo 第一個命令行參數取其短名: %~s1
echo 第二個命令行參數取其短名: %~s2
echo 第一個命令行參數取其屬性: %~a1
echo 第二個命令行參數取其屬性: %~a2
echo 第一個命令行參數取其時間: %~t1
echo 第二個命令行參數取其時間: %~t2
echo 第一個命令行參數取其大小: %~z1
echo 第二個命令行參數取其大小: %~z2

rem 查找指定命令行參數文件在所有環境變量文件中是否存在,如果存在就將文件路徑補全
rem 如果不存在則顯示當前參數,如果當前參數文件也不存在則顯示爲空
echo 結果:  %~$PATH:1 
echo 結果:  %~$PATH:2
echo 結果:  %~$PATH:3 

rem 可以組合修改符來取得多重結果
echo 組合命令行參數1當前盤符與路徑: %~dp1
echo 組合命令行參數2當前盤符與路徑: %~dp2
echo 組合命令行參數1當前文件名與後綴名: %~nx1
echo 組合命令行參數2當前文件名與後綴名: %~nx2
echo 組合命令行參數1當前文件屬性時間大小文件名: %~ftza1
echo 組合命令行參數2當前文件屬性時間大小文件名: %~ftza2

1.2.2. 輸出結果

當前批處理路徑: F:\test.bat
第一個命令行參數: "form snow.txt"
第一個命令行參數刪除引號: form snow.txt
第二個命令行參數: f:\test.txt
第一個命令行參數擴展到完整路徑: C:\Program Files\Notepad++\form snow.txt
第二個命令行參數擴展到完整路徑: f:\test.txt
第一個命令行參數取其驅動器號: C:
第二個命令行參數取其驅動器號: f:
第一個命令行參數取其路徑: \Program Files\Notepad++\
第二個命令行參數取其路徑: \
第一個命令行參數取其文件名: form snow
第二個命令行參數取其文件名: test
第一個命令行參數取其擴展名: .txt
第二個命令行參數取其擴展名: .txt
第一個命令行參數取其短名: C:\PROGRA~1\NOTEPA~1\form snow.txt
第二個命令行參數取其短名: f:\test.txt
第一個命令行參數取其屬性:
第二個命令行參數取其屬性: --a------
第一個命令行參數取其時間:
第二個命令行參數取其時間: 2019/04/19 21:55
第一個命令行參數取其大小:
第二個命令行參數取其大小: 1704
結果:
結果:  f:\test.txt
結果:  C:\ProgramData\Oracle\Java\javapath\java.exe
組合命令行參數1當前盤符與路徑: C:\Program Files\Notepad++\
組合命令行參數2當前盤符與路徑: f:\
組合命令行參數1當前文件名與後綴名: form snow.txt
組合命令行參數2當前文件名與後綴名: test.txt
組合命令行參數1當前文件屬性時間大小文件名: C:\Program Files\Notepad++\form snow.txt
組合命令行參數2當前文件屬性時間大小文件名: --a------ 2019/04/19 21:55 1704 f:\test.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章