Re: 請問大量修改亂碼檔名的方法?
阿培仔 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中的應用、流媒伐技術>及文件格式 。
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章