看板 EZsoft 關於我們 聯絡資訊
debug程式 for %%i in (*_CRCDATA_) do del %%i for %%i in (*_NEO_) do echo %%i >> list.tmp for /F "delims=_NEO_" %%i in (list.tmp) do echo %%i >> list2.tmp list.tmp -- [KALEIDOSTAR][33][DVDRIP][WMV9].rmvb_NEO_ [KALEIDOSTAR][34][DVDRIP][WMV9].rmvb_NEO_ -- list2.tmp -- [KAL [KAL 程式第三行改寫多次無法列出正確的值 用分段符號的寫法不知道錯在哪@@麻煩幫除蟲 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.217.202
dennisxkimo:最好寫成 "%%i" 02/25 09:03
請問特別括號起來有甚麼用意?我用沒括號跑都可以
junorn:delims你這樣寫的話會變成分割字元是使用_ N E O 作分割 02/25 09:29
原來如此
junorn:既然主檔名不需要變而副檔名固定要改成rmvb的話 02/25 09:33
junorn:這樣寫不知行不行我沒測 02/25 09:36
junorn:ren "*.*_NEO_" "*.RMVB" 02/25 09:37
抓不到副檔名有星號的
dennisxkimo:我可能誤會delims用法了  昨天我測試的範本 02/25 09:57
dennisxkimo:沒有包含相關文字 02/25 09:58
dennisxkimo:如果你要只是rmvb_NEO_很簡單,但是任何格式_NEO_ 02/25 10:48
dennisxkimo:就麻煩一點 02/25 10:48
dennisxkimo:OS:如果是linux指令就簡單多了 02/25 10:49
dennisxkimo:for %%i in (*_NEO_) do rename "%%i" "%%~ni".rmvb 02/25 11:21
dennisxkimo:連tmp都不用 %%~ni 就是忽略副檔名的顯示法 02/25 11:22
可是我想要寫的是所有檔案適用的 還是可以用其他的語言寫? ※ 編輯: mymike12 來自: 140.115.217.202 (02/25 12:30) 想了約半天找出了解決方案 for %%i in (*_CRCDATA_) do del %%i for %%i in (*_NEO_) do echo %%i >> list.tmp for /F "delims=_" %%i in (list.tmp) do rename %%i_NEO_ %%i del list.tmp 實測OK! --- 使用教學: 想用的把上面程式碼複製到記事本,然後另存新檔(選擇所有檔案),檔名打gogobox.bat --- 歡迎高手給出更棒的solution ※ 編輯: mymike12 來自: 140.115.217.202 (02/25 12:43)
junorn:如果你沒用引號的話,有機會會在中間有空白字元的檔案被分 02/25 13:26
junorn:割,因為會被當成參數 02/25 13:26
junorn:比如說 ren 1 23.txt 123.txt 這樣就會跳錯誤 02/25 13:27
junorn:但ren "1 23.txt" 123.txt 這樣就能正常動作 02/25 13:27
原來如此,感謝講解
abccbaandy:突然想到RegExp... 02/25 14:29
※ 編輯: mymike12 來自: 140.115.217.202 (02/25 16:44)
leftalan:前兩行可以改成 del *_CRCDATA_ 02/25 19:39
leftalan: dir /b *_NEO_ >> list.tmp 02/25 19:40
恩簡短不少 ※ 編輯: mymike12 來自: 140.115.217.202 (02/26 00:07) 新版: for %%i in (*_CRCDATA_) do del "%%i" for %%i in (*_NEO_) do echo %%i >> list.tmp for /F "delims=_" %%i in (list.tmp) do rename "%%i_NEO_" "%%i" del list.tmp 改進:對某些測試文件失效的問題 使用教學: 想用的把上面程式碼複製到記事本,然後另存新檔(選擇所有檔案)檔名打gogobox2.bat ※ 編輯: mymike12 來自: 140.115.217.202 (02/26 10:52)
dennisxkimo:你這樣如果檔案名稱剛好有底線也是跟原來的問題一樣 02/26 12:45
沒辦法,目前只想到這種方法,也測試成功 如果遇到檔名底線就真的GG 希望有人能提供更好的解法? ※ 編輯: mymike12 來自: 125.225.97.226 (02/26 19:40)
leftalan:del *_CRCDATA_ 02/26 23:26
leftalan:ren "*.???_NEO_" "*.???" 02/26 23:27
leftalan:ren "*.????_NEO_" "*.????" 02/26 23:27
leftalan:這樣應該能套用95%以上的檔案了吧,除非副檔名不是3或4字 02/26 23:30
mymike12:轉錄至看板 EzHotKey 02/27 22:06
mymike12:感謝left大 02/28 17:28