命令提示字元 17:變數變換

這章是在說如果要變數(或字串)中的某一部份要怎麼頡取,其實常用的只有一個:

%~ni

就是只顯示這個字串的路徑與檔名。



好了,這章說完了,下一章。



不可以這樣啦,所以來濫竽充數:

%~i TestTestTest.cmd
%~ai --a------
%~di C:
%~fi C:\Test\TestTestTest.cmd
%~ni TestTestTest.cmd
%~pi \Test\
%~si C:\Test\TESTTE~1.CMD
%~ti 0000/00/00 00:00
%~xi .cmd
%~zi 0

沒有辦法全部解釋,所以有需要的人可以去看 for 的說明。另外上面可以合併多個使用。



接下來補充字串取代,使用方法是用變數「%變數名稱:舊字串=新字串%」,實際如下:

set "Test=Test to test."
echo %Test: =_%

完整使用 http://ss64.com 有說明。



這章真的沒了。其實在 Linux-based 有正規表示法可以用,比這種孱弱的指令強大多了,有一些比較複雜的字序變換還要使用「for」才可以達成,這也是這篇隨便寫的原因,因正規表示法才是應該花心思去研究的。什麼?「for」沒有教?下一章啊!



下一章:迴圈入門




  • 2012-09-11 初次發佈。
  • 2017-07-12 更新成 Windows 10 的版本。

3 則留言:

  1. 請問一下,我打出%~ni時,會出現'%~ni' 不是內部或外部命令、可執行的程式或批次檔。
    請問是哪邊出現問題嗎,謝謝

    回覆刪除
    回覆
    1. 這個用法需要 for 和 echo 配合使用才會有意義
      可以比較
      dir /b

      for %i in (*) do echo %~ni
      的差別

      刪除
  2. 這個用法需要 for 和 echo 配合使用才會有意義
    可以比較
    dir /b

    for %i in (*) do echo %~ni
    的差別

    回覆刪除

定時會整理。