Re: 請問大量修改亂碼檔名的方法?

看板Linux作者時間18年前 (2007/01/22 20:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
阿培仔 wrote: > ※ 引述《willie (Debian Rock!!)》之銘言: >> ※ 引述《tomhuang (阿培仔)》之銘言: >>> 我這邊有一堆檔名亂碼的檔案, >>> 查了一下,發現應該是 GB2312 檔名,直接被當成 BIG5 檔名, >>> 以 Samba 存入伺服器硬碟後變成 UTF-8 檔名。 你這個不是單純轉換編碼的問題。 >>> 可是…接下來我就不知道該怎麼做了… >>> 請問如何快速改好這些檔名? >> 要改檔名 >> 建議使用convmv,操作看一下manpage,和iconv用法差不多:) > > 我用下面的指令, 發現不行: > convmv -i -f UTF-8 -t BIG5 *PDF > > 出現了下面的錯誤訊息: > big5-eten doesn't cover all needed characters for: "./H[1].264弝晤鎢陔梓袧摯俶夔煦昴.PDF" > big5-eten doesn't cover all needed characters for: "./IP郪畦撮扲摯婓弝秞換怀笢腔茼蚚.PDF" > : > : > big5-eten doesn't cover all needed characters for: "./霜羸极撮扲摯婓萸畦VOD笢腔茼蚚.PDF" > big5-eten doesn't cover all needed characters for: "./霜羸极撮扲摯恅璃跡宒.PDF" > To prevent damage to your files, we won't continue. > First fix errors or correct options! > > 應該是因為檔名裡面有一些字超出範圍, 所以 convmv 不准繼續執行.. > 那些超出範圍的字, 可以放棄它們嗎? 補上其他符號也行, 能不能強迫執行呢?? > - 我的桌面是 UTF8 環境。 除了步驟 6 之外,都是在 zh_TW.UTF-8 的 gnome-terminal 終端機中。 1,製作一個 500K 的檔案,檔名 /mnt/Temp_Block: cd /mnt dd if=/dev/zero of=Temp_Block bs=512 count=1024 2,檔案是要當作 "虛擬硬碟" 用的,所以要 mkfs。 mkfs.ext2 Temp_Block 3,做一個目錄,用來做掛載點。 mkdir TB 4,指定轉碼掛載: mount -o loop,iocharset=big5,codepage=gb2312 Temp_Block TB/ 5,把檔案 copy 進 /mnt/Temp_Block。 6,另外開 gnome-terminal , 「終端機」-「設定字元編碼」設為 gb2312, 並且執行 "export LC_ALL=zh_CN"。 在這裡面 "ls /mnt/TB/ |autob5 -i utf8 -o big5 > ~/Filename_List.gb.txt" 把檔名存起來。 7,到其他終端(utf8),可以使用 "cat ~/Filename_List.gb.txt |autob5 -i gb -o utf8" 得到 utf8 顯示。 ps., 那些檔案名稱再轉成繁體大約是: 264視編碼新標準及性能分析、IP組播技術及在視音傳 中的應用、 流媒伐技術及在點播VOD中的應用、流媒伐技術>及文件格式 。
文章代碼(AID): #15jAx500 (Linux)
文章代碼(AID): #15jAx500 (Linux)