DOS批處理中%~dp0等擴(kuò)充變量語(yǔ)法詳解
有時(shí)候我們看到別人使用%~dp0
~是擴(kuò)展的意思,相當(dāng)于把一個(gè)相對(duì)路徑轉(zhuǎn)換絕對(duì)路徑
%0代指批處理文件自身
%1表示批處理文件命令行接收到的第一個(gè)參數(shù),%2表示第二個(gè),以此類(lèi)推
%~d0 是指批處理所在的盤(pán)符,其中d代表drive
%~p0 是指批處理所在的目錄,其中p代表path
%~dp0 是批處理所在的盤(pán)符加路徑
cd %~dp0 就是進(jìn)入批處理所在目錄了
詳細(xì)解釋還可參考命令 call /?
DOS批處理中%~dp0表示什么意思
(注: %0 就是該 batch 文件的文件名)
這句的意思是
更改當(dāng)前目錄為批處理本身的目錄
有些暈吧?不急,我舉例
比如你有個(gè)批處理 a.bat 在 D:/qq 文件夾下
a.bat 內(nèi)容為
cd /d %~dp0
在這里
cd /d %~dp0 的意思就是 cd /d d:/qq
%0 代表批處理本身 d:/qq/a.bat
~dp 是變量擴(kuò)充
d 既是擴(kuò)充到分區(qū)號(hào) d:
p 就是擴(kuò)充到路徑 /qq
dp 就是擴(kuò)充到分區(qū)號(hào)路徑 d:/qq
擴(kuò)充變量語(yǔ)法詳解:
:: 選項(xiàng)語(yǔ)法 :
:: ~I - 刪除任何引號(hào) (") ,擴(kuò)充 %I
:: %~fI - 將 %I 擴(kuò)充到一個(gè)完全合格的路徑名
:: %~dI - 僅將 %I 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)
:: %~pI - 僅將 %I 擴(kuò)充到一個(gè)路徑
:: %~nI - 僅將 %I 擴(kuò)充到一個(gè)文件名
:: %~xI - 僅將 %I 擴(kuò)充到一個(gè)文件擴(kuò)展名
:: %~sI - 擴(kuò)充的路徑只含有短名
:: %~aI - 將 %I 擴(kuò)充到文件的文件屬性
:: %~tI - 將 %I 擴(kuò)充到文件的日期 / 時(shí)間
:: %~zI - 將 %I 擴(kuò)充到文件的大小
:: %~$PATH:I - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
:: 到找到的第一個(gè)完全合格的名稱(chēng)。如果環(huán)境變量名
:: 未被定義,或者沒(méi)有找到文件,此組合鍵會(huì)擴(kuò)充到
:: 空字符串
:: 可以組合修飾符來(lái)得到多重結(jié)果 :
:: %~dpI - 僅將 %I 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)和路徑
:: %~nxI - 僅將 %I 擴(kuò)充到一個(gè)文件名和擴(kuò)展名
:: %~fsI - 僅將 %I 擴(kuò)充到一個(gè)帶有短名的完整路徑名
:: %~dp$PATH:i - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
:: 到找到的第一個(gè)驅(qū)動(dòng)器號(hào)和路徑。
:: %~ftzaI - 將 %I 擴(kuò)充到類(lèi)似輸出線路的 DIR
下面是實(shí)例解析:
如果一個(gè)install.bat文件位于D:\jeesite\bin
文件內(nèi)容如下:
@echo off echo [INFO] This is a demo. echo [INFO] %~dp0 pause
運(yùn)行install.bat,命令行輸出如下
[INFO] This is a demo. [INFO] D:\jeesite\bin\
即:
%0代表文件本身
d代表盤(pán)符
p代表路徑
擴(kuò)展的選項(xiàng)還包括:
%~f0 - 完整的路徑+文件名
[INFO] D:\jeesite\bin\install.bat
%~n0
- 文件名(無(wú)擴(kuò)展名)
[INFO] install
%~x0
- 文件擴(kuò)展名
[INFO] .bat
%~s0 - 擴(kuò)充的路徑只含有短名(“s”為Short,短的)
%~a0 - 將 %0 擴(kuò)充到文件的文件屬性(“a”為attribute,即屬性)
%~t0 - 將 %0 擴(kuò)充到文件的日期/時(shí)間(“t”time)
%~z0 - 將 %0 擴(kuò)充到文件的大小(Size 大小)
等等
上一篇:批處理入門(mén)手冊(cè)之批處理常用DOS命令篇(find findstr)
欄 目:DOS/BAT
本文標(biāo)題:DOS批處理中%~dp0等擴(kuò)充變量語(yǔ)法詳解
本文地址:http://mengdiqiu.com.cn/a1/DOS_BAT/10036.html
您可能感興趣的文章
- 01-10DOS下查看硬盤(pán)分區(qū)該使用什么命令
- 01-10使用批處理實(shí)現(xiàn)軟件的自動(dòng)安裝以安裝搜狗拼音為例
- 01-10通過(guò)批處理修改DNS的代碼(推薦)
- 01-10windows使用批處理發(fā)布web到tomcat并啟動(dòng)tomcat腳本分享
- 01-10再談DOS批處理下格式化日期字符串的三種方法(詳解)
- 01-10用批處理一鍵安裝兩種擴(kuò)展名的Windows系統(tǒng)補(bǔ)丁
- 01-10ip地址切換批處理腳本分享
- 01-10dos命令行不能輸入中文怎么辦該如何解決
- 01-10批處理?xiàng)钶x三角效果實(shí)現(xiàn)代碼
- 01-10將批處理文件注冊(cè)成服務(wù)在系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)調(diào)用


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10DOS下查看硬盤(pán)分區(qū)該使用什么命令
- 01-10使用批處理實(shí)現(xiàn)軟件的自動(dòng)安裝以安
- 01-10后臺(tái)運(yùn)行bat定時(shí)器程序示例分享
- 01-10通過(guò)批處理修改DNS的代碼(推薦)
- 01-10dota2服務(wù)器ping測(cè)試腳本分享
- 01-10再談DOS批處理下格式化日期字符串的
- 01-10windows使用批處理發(fā)布web到tomcat并啟動(dòng)
- 01-10win7怎么設(shè)定關(guān)閉顯示器時(shí)間
- 01-10屏蔽up鍵禁止游戲運(yùn)行腳本分享
- 01-10win7創(chuàng)建wifi熱點(diǎn)腳本分享
隨機(jī)閱讀
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子