雄::gsyan: Windows : 在cmd 下的dir 輸出UTF-8 編碼的清單

文章推薦指數: 80 %
投票人數:10人

cmd /u /c :告訴cmd 以Unicode 格式輸出,並執行後面的兩道指令(粗體字的部份)。

· 以dir 將mp3 目錄中的檔名輸出到mp3_list.txt 中儲存(紅色的指令)。

skiptomain| skiptosidebar 2011年4月9日星期六 Windows:在cmd下的dir輸出UTF-8編碼的清單 2011年4月9日星期六 我一直很單純的想,在中文Windows的「指令直譯器」「cmd」中下「dir」這種內部指令看到的中文是big5編碼,如果是簡體字就是對應的簡體編碼,那只要利用ConvertZ這個工具就可以將檔名清單轉為UTF-8。

沒想到大錯特錯,顯示和輸出是不一樣的,有些中文字會變成問號。

cmd中內部指令預設輸出是以ANSI編碼,正體中文的部份看似big5,所以利用ConvertZ可以用類似: ConverZ/i:big5/o:utf8.......... 這樣的語法將dir輸出的清單中文轉為UTF-8編碼,但是非big5的部份就無法正常顯示,通通變成問號了。

查了一下,原來「cmd」可以利用「/u」的參數讓內部指令的輸出改用Unicode的格式,如果再搭配參數「/c」和「&&」符號,就可以讓我要的檔案清單通通轉成UTF-8。

看一下Windowscmd的部份說明: C:\>cmd/?啟動WindowsXP命令直譯器新例項CMD[/A|/U][/Q][/D][/E:ON|/E:OFF][/F:ON|/F:OFF][/V:ON|/V:OFF]   [[/S][/C|/K]string]/C     執行字串中所描述的命令然後結束命令視窗/K     執行字串中所描述的命令然後保留命令視窗/S     修改字串在/C或/K(參看下方)/Q     關閉echo/D     從登錄中停用AutoRun命令(參看下方)/A     將內部命令輸出結果以ANSI格式導向pipe或檔案/U     將內部命令輸出結果以Unicode格式導向pipe或檔案/T:fg  設定幕前/幕後色彩(參看COLOR/?)/E:ON  啟用命令延伸(參看下方)/E:OFF 停用命令延伸(參看下方)/F:ON  啟用檔案及目錄名稱完整字元(參看下方)/F:OFF 停用檔案及目錄名稱完整字元(參看下方)/V:ON  啟用延遲環境變數延伸,用c作為分隔字元。

例如,       /V:ON可以讓!var!在執行時展開變數var。

文法       var則會在輸入時展開變數,這在FOR迴圈之中是       完全不同的事。

/V:OFF 停用延遲環境變數展開 例如: cmd/u/cdir/bmp3>mp3_list.txt&&ConvertZ.exe/i:ULE/o:utf8mp3_list.txtmp3_list.txt 上面這一行指令做了以下的事情: cmd/u/c:告訴cmd 以Unicode格式輸出,並執行後面的兩道指令(粗體字的部份)。

以dir將mp3目錄中的檔名輸出到mp3_list.txt中儲存(紅色的指令)。

以ConvertZ將mp3_list.txt中的字,由Unicode(ULE)轉成UTF-8的編碼(藍色的指令)。

By 雄 at 4/09/2011 以電子郵件傳送這篇文章BlogThis!分享至Twitter分享至Facebook分享到Pinterest 標籤: 資訊_系統, 資訊天地 4則留言: 匿名2017年6月26日中午12:13chcp65001dir/bmp3>mp3_list.txt回覆刪除回覆雄2017年6月26日下午1:40高手:謝謝您,多學會了一招^_^刪除回覆回覆回覆LifeLearning2018年10月16日晚上10:10我原本內接硬碟也正常,不知道弄到甚麼,執行CMD/U/CDIR/B會有亂碼的問題,但這個BAT拿到外接式硬碟去執行卻沒編碼問題。

難道是我的磁碟區編碼跑掉了嗎?回覆刪除回覆回覆匿名2018年10月17日下午4:14真的是好神奇,CMD/U/CDIR/B原本OK,但突然有亂碼問題-----------------------------------------CHCP65001DIR/B這樣執行卻沒問題,難道這是CMD/U失靈了嗎?回覆刪除回覆回覆新增留言載入更多… 較新的文章 較舊的文章 首頁 訂閱: 張貼留言(Atom) 搜尋此網誌 文章分類 3DP (76) 永明的作文 (3) 永明的童詩 (241) 生活筆記 (108) 教學札記 (68) 資訊_系統 (21) 資訊_救援 (34) 資訊_應用 (46) 資訊_FreeStorage (2) 資訊_unixLike (34) 資訊_Wiimote (23) 資訊_works (83) 資訊天地 (492) Android (36) Anki (5) App-Inventor (8) AppEngine (1) Apple (2) Apps-Script (10) Arduino (28) Biking (283) Blogger (11) Chrome (6) Cura (3) DIY (93) FB (3) FFmpeg (13) Flash (37) FreeSoftware (18) GIMP (2) Git (1) Google (28) Hiking (8) HTML5 (75) Inkscape (14) iPad (14) IR (10) Java (3) JavaScript (51) Laser (17) LEGO (2) LimeJS (53) LinuxMint (10) Mac (17) Microbit (2) Node.js (2) OpenCV (1) OpenSCAD (9) Palm (2) PHP (9) PrusaSlicer (2) Python (18) RaspberryPi (32) RemoteDesktop (3) Scratch (5) TinkerCAD (2) VBA (6) Walking (1) Webcam (13) Windows (33) youtube-dl (12) 其它連結 訪客留言簿 雄的家 騎乘統計 RSS訂閱 發表文章 Atom 發表文章 留言 Atom 留言 Google提供的廣告 ▼⧬▼⧬▼⧬▼⧬▼⧬▼   雄::gsyan©2009.DesignbyPocket



請為這篇文章評分?