關於批處理路徑,%~dp0%

%~dp0 “d”爲Drive的縮寫,即爲驅動器,磁盤、“p”爲Path縮寫,即爲路徑,目錄
cd是轉到這個目錄,不過我覺得cd /d %~dp0 還好些

選項語法:

    ~0         - 刪除任何引號("),擴充 %0
    %~f0        - 將 %0 擴充到一個完全合格的路徑名(“f”是file,即文件)
    %~d0        - 僅將 %0 擴充到一個驅動器號
    %~p0        - 僅將 %0 擴充到一個路徑
    %~n0        - 僅將 %0 擴充到一個文件名(“n”是name 文件名)
    %~x0        - 僅將 %0 擴充到一個文件擴展名
    %~s0        - 擴充的路徑只含有短名(“s”爲Short,短的)
    %~a0        - 將 %0 擴充到文件的文件屬性(“a”爲attribute,即屬性)
    %~t0        - 將 %0 擴充到文件的日期/時間(“t”time)
    %~z0        - 將 %0 擴充到文件的大小(Size 大小)
    %~$PATH:0   - 查找列在路徑環境變量的目錄,並將 %0 擴充
                  到找到的第一個完全合格的名稱。如果環境變量名
                  未被定義,或者沒有找到文件,此組合鍵會擴充到
                  空字符串

可以組合修飾符來得到多重結果:

    %~dp0       - 僅將 %0 擴充到一個驅動器號和路徑
    %~nx0       - 僅將 %0 擴充到一個文件名和擴展名
    %~fs0       - 僅將 %0 擴充到一個帶有短名的完整路徑名
    %~dp$PATH:0 - 查找列在路徑環境變量的目錄,並將 %I 擴充
                  到找到的第一個驅動器號和路徑。
    %~ftza0     - 將 %0 擴充到類似輸出線路的 DIR

%0爲當前批處理文件
如果0換成1爲第一個文件,2爲第2個

 

 

例如:

cd /d %~dp0%是什麼意思?
批處理文件中的一條語句
意思是:更改當前目錄爲批處理本身的目錄
比如你有個批處理a.bat在D:/qq文件夾下
a.bat內容爲
cd /d %~dp0
在這裏:
cd /d %~dp0的意思就是cd /d d:/qq
%0代表批處理本身 d:/qq/a.bat
~dp是變量擴充
d既是擴充到分區號 d:
p就是擴充到路徑 /qq
dp就是擴充到分區號路徑 d:/qq

 

 

另:

詳細請參考call /?

D:/Documents and Settings/test>call /?
從批處理程序調用另一個批處理程序。

CALL [drive:][path]filename [batch-parameters]

  batch-parameters   指定批處理程序所需的命令行信息。

如果命令擴展名被啓用,CALL 會如下改變:

CALL 命令現在將卷標當作 CALL 的目標接受。語法是:

    CALL:label arguments

一個新的批文件上下文由指定的參數所創建,控制在卷標被指定
後傳遞到語句。您必須通過達到批腳本文件末兩次來 "exit" 兩次。
第一次讀到文件末時,控制會回到 CALL 語句的緊後面。第二次
會退出批腳本。鍵入 GOTO /?,參看 GOTO  : EOF  擴展名的描述,
此描述允許您從一個批腳本返回。

另外,批腳本文本參數參照(%0、%1、等等)已如下改變:


     批腳本里的 %* 指出所有的參數(如 %1 %2 %3 %4 %5 ...)

     批參數(%n)的替代已被增強。您可以使用以下語法:

         %~1         - 刪除引號("),擴充 %1
         %~f1        - 將 %1 擴充到一個完全合格的路徑名
         %~d1        - 僅將 %1 擴充到一個驅動器號
         %~p1        - 僅將 %1 擴充到一個路徑
         %~n1        - 僅將 %1 擴充到一個文件名
         %~x1        - 僅將 %1 擴充到一個文件擴展名
         %~s1        - 擴充的路徑指含有短名
         %~a1        - 將 %1 擴充到文件屬性
         %~t1        - 將 %1 擴充到文件的日期/時間
         %~z1        - 將 %1 擴充到文件的大小
         %~$PATH : 1 - 查找列在 PATH 環境變量的目錄,並將 %1
                       擴充到找到的第一個完全合格的名稱。如果環境
                       變量名未被定義,或者沒有找到文件,此組合鍵會
                       擴充到空字符串

    可以組合修定符來取得多重結果:

        %~dp1       - 只將 %1 擴展到驅動器號和路徑
        %~nx1       - 只將 %1 擴展到文件名和擴展名
        %~dp$PATH:1 - 在列在 PATH 環境變量中的目錄裏查找 %1,
                       並擴展到找到的第一個文件的驅動器號和路徑。
        %~ftza1     - 將 %1 擴展到類似 DIR 的輸出行。

    在上面的例子中,%1 和 PATH 可以被其他有效數值替換。
    %~ 語法被一個有效參數號碼終止。%~ 修定符不能跟 %*使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章