国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

DOS批處理中%~dp0等擴充變量語法詳解

2020-07-26 20:11:20
字體:
來源:轉載
供稿:網友

有時候我們看到別人使用%~dp0

~是擴展的意思,相當于把一個相對路徑轉換絕對路徑
%0代指批處理文件自身
%1表示批處理文件命令行接收到的第一個參數,%2表示第二個,以此類推
%~d0 是指批處理所在的盤符,其中d代表drive
%~p0 是指批處理所在的目錄,其中p代表path
%~dp0 是批處理所在的盤符加路徑

cd %~dp0 就是進入批處理所在目錄了

詳細解釋還可參考命令 call /?

DOS批處理中%~dp0表示什么意思

(注:%0就是該batch文件的文件名 )

這句的意思是
更改當前目錄為批處理本身的目錄
有些暈吧?不急,我舉例
比如你有個批處理a.bat在E:/jb51文件夾下
a.bat內容為
cd /d %~dp0
在這里
cd /d %~dp0的意思就是cd /d e:/jb51
%0代表批處理本身 e:/jb51/a.bat
~dp是變量擴充
d既是擴充到分區號 e:
p就是擴充到路徑 /jb51
dp就是擴充到分區號路徑 e:/jb51

下面給個圖

擴充變量語法詳解:
:: 選項語法 :
:: ~I - 刪除任何引號 (") ,擴充 %I
:: %~fI - 將 %I 擴充到一個完全合格的路徑名
:: %~dI - 僅將 %I 擴充到一個驅動器號
:: %~pI - 僅將 %I 擴充到一個路徑
:: %~nI - 僅將 %I 擴充到一個文件名
:: %~xI - 僅將 %I 擴充到一個文件擴展名
:: %~sI - 擴充的路徑只含有短名
:: %~aI - 將 %I 擴充到文件的文件屬性
:: %~tI - 將 %I 擴充到文件的日期 / 時間
:: %~zI - 將 %I 擴充到文件的大小
:: %~$PATH:I - 查找列在路徑環境變量的目錄,并將 %I 擴充
:: 到找到的第一個完全合格的名稱。如果環境變量名
:: 未被定義,或者沒有找到文件,此組合鍵會擴充到
:: 空字符串
:: 可以組合修飾符來得到多重結果 :
:: %~dpI - 僅將 %I 擴充到一個驅動器號和路徑
:: %~nxI - 僅將 %I 擴充到一個文件名和擴展名
:: %~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名
:: %~dp$PATH:i - 查找列在路徑環境變量的目錄,并將 %I 擴充
:: 到找到的第一個驅動器號和路徑。
:: %~ftzaI - 將 %I 擴充到類似輸出線路的 DIR

下面是實例解析:

如果一個install.bat文件位于D:/jeesite/bin
文件內容如下:

@echo offecho [INFO] This is a demo.echo [INFO] %~dp0pause

運行install.bat,命令行輸出如下

[INFO] This is a demo.[INFO] D:/jeesite/bin/

即:
%0代表文件本身
d代表盤符
p代表路徑
擴展的選項還包括:

%~f0 - 完整的路徑+文件名

[INFO] D:/jeesite/bin/install.bat

%~n0 - 文件名(無擴展名)

[INFO] install
%~x0 - 文件擴展名

[INFO] .bat

%~s0 - 擴充的路徑只含有短名(“s”為Short,短的)
%~a0 - 將 %0 擴充到文件的文件屬性(“a”為attribute,即屬性)
%~t0 - 將 %0 擴充到文件的日期/時間(“t”time)
%~z0 - 將 %0 擴充到文件的大小(Size 大小)

等等

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荃湾区| 南京市| 商洛市| 宁河县| 仙游县| 洛隆县| 万荣县| 屏山县| 昌江| 金山区| 广宁县| 大冶市| 西和县| 赞皇县| 广河县| 高州市| 靖安县| 孟村| 台南市| 商城县| 辽源市| 剑阁县| 沿河| 株洲市| 泰宁县| 蒙阴县| 婺源县| 通道| 伊通| 察哈| 洛隆县| 四川省| 济宁市| 金阳县| 郧西县| 奉化市| 驻马店市| 长治县| 杭州市| 阳谷县| 淮南市|