看板 Programming 關於我們 聯絡資訊
※ 引述《wowtiger (小虎)》之銘言: : ※ 引述《LIMITED》之銘言: : : 例如現在我有一個檔案叫做 01_BBS_PTT_CC.mp3 : : 有辦法把底線取代空格變成 01 BBS PTT CC.mp3 : : 請問有會寫基本程式的可以教我嗎^^ : 如果是三個底線 : dir /b *.mp3 > list : for /f "tokens=1,1-3* delims=_" %i in (list) do ren "%i_%j_%k" "%i %j %k" : 四個就 : dir /b *.mp3 > list : for /f "tokens=1,1-4* delims=_" %i in (list) do ren "%i_%j_%k_%l" "%i %j %k %l" 要一個指令嘛? for /f "tokens=1,1-3* delims-_" %i in ('dir /b *.mp3') do ( ren "%i_%j_%k" "%i %j %k" ) for /f 裡是可以把指令結果拿去做分析的 格式有兩套: /f之後的 "" 選項裡沒有 usebackq 則 '' 括起來的當指令 選項裡若有 usebackq 則 `` 括起來的當指令 (其實另外有 (無usebackq)""/(有usebackq)'' 當直接分析的字串 不過相對來說用處比較沒那麼大) 例如以下是 for /? 裡的例子 for /f "delim==" %i in ('set') do @echo %i 可以列出已設定的全部環境變數的名字 --- 另外 第二組括號是用來把要執行的指令括起來的 在命令列下輸入 ( 的話會和在Unix類似的系統中打個 \ 一樣的效果 跳到下一行要你繼續輸入 只是Windows這邊是看到對應的 ) 才會結束 而Windows這邊在這裡也可以分行輸入多個指令而不需以 & 連接 --- 其實我個人覺得現在的 windows batch 指令已經把 for if set 做強化了 用這些其實已經可以兜出一些複雜一點的東西 尤其 for /f 更是不錯用的指令之一 (雖然有時 set 和環境變數取用的邏輯頗難懂的就是) -- 'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done one thing to make absolutely sure that every single person in this school will read your interview, it was banning it!' ---'Harry Potter and the order of the phoenix', P513 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.254.23.234
TonyQ:沒錯~ 114.137.13.99 07/18 10:24