獲取批處理文件所在路徑
在開發時,常常須要使用批處理運行一些程序,java程序 猶其是這樣,每每須要運行時根路徑。Hardcode一個路徑老是令本身以爲不自在,例如一個java程序從一臺機copy到另一臺機,盤符每每發生變化,先修改一下bat裏的路徑再運行顯然很麻煩。
在批處理開頭加入cd /d %~dp0 一行代碼就真真實實地作到「編寫一次,處處運行」。%0是批處理文件自己的路徑,%~dp進行擴展, d向前擴展到驅動器,p日後擴展到路徑。例如,你的bat文件在e:/mybat/test.bat,則%0就是e:/mybat/test.bat, %~dp0是e:/mybat/。
另外,%i提取第i個命令選項,例如%1提取第1個option,i能夠取值從1到9
%~0: 取文件名(名+擴展名)
%~f0:取全路徑
%~d0:取驅動器名
%~p0:只取路徑(不包驅動器)
%~n0:只取文件名
%~x0:只取文件擴展名
%~s0:取縮寫全路徑名
%~a0:取文件屬性
%~t0:取文件建立時間
%~z0:取文件大小
以上選項能夠組合起來使用。
%1就是表示批處理的第一個參數,%~1表示刪除參數外面的引號好比有個批處理文件 test.bat在cmd中輸入命令test.bat "test"%1表示的是「test「。%~1表示的是test,沒有了雙引號