批處理中如何截取FOR循環變量的字符串

FOR 變量參照的替換已被加強。您如今能夠使用下列
選項語法:

     ~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

在以上例子中,%I 和 PATH 可用其餘有效數值代替。%~ 語法
用一個有效的 FOR 變量名終止。選取相似 %I 的大寫變量名
比較易讀,並且避免與不分大小寫的組合鍵混淆。spa

例如:code

獲取文件名的後綴blog

@echo off
for /r F:\Test %%j in (*) do (
    echo,%%~xj
)
pause
相關文章
相關標籤/搜索