にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

convmvコマンドでファイル名の文字コードを一括で変更する

Windows環境からLinux(Ubuntu)環境にファイルを転送したときにファイル名に日本語を用いていると、Ubuntu側で文字化けしてしまいます。どうやら、Windows側はShift_JISで、Ubuntu側はUTFー8でファイル名を管理していることが原因のようです。
転送にWinSCPを使っていると、アプリケーションではこの違いを吸収することができないとのことなので、転送後にUbuntu側でファイル名を一括変更するという対応をすることにしました。
その際に使うのがconvmvというコマンドです。
Ubuntuならば、

$ sudo apt-get install convmv

でインストールできます。
その後、

convmv -f sjis -t utf8 *

で変換後のファイル名を確認し(この時点ではまだファイル名変換は実行されません)、

convmv --notest -f sjis -t utf8 *

で、ファイル名変更を実行します。
これで、なんとかWindows側で日本語名で扱っていたファイルをUbuntu側でも扱うことができるようになりました。