2013年4月5日金曜日

nkfツールを用いた文字コードの一括置換

コマンドプロンプトとnkfツールを用いた場合。

  1. nkfツールをインストールし、nkf.exeをパスの通ったディレクトリに配置
  2. コマンドプロンプトを立ち上げる
  3. 変換したいファイルのあるディレクトリへ移動
  4. 下記の4つのコマンドを入力 
今回はS-JISのjsファイルをUTF-8に変換
forfiles /m *.js /s /c "cmd /c nkf -w < @file > @fname.js_utf8"
forfiles /m *.js /s /c "cmd /c ren @file @fname.js_org"
forfiles /m *.js_utf8 /s /c "cmd /c ren @file @fname.js
forfiles /m *.js_org /s /c "cmd /c del @file"
以下のコマンドで、所定フォルダ内の全ファイルの文字変換が行える。
元のファイルは、_org付の拡張子のファイルとなる。
・xxxxxx.js → xxxxxx.js_org
UTF-8ファイルは、作成時に_utf8付のファイルとし、元のファイル名にする。
・xxxxxx.js_utf8 → xxxxxx.js
最後のコマンドで、xxxxxx.js_orgファイルを削除。

forfile
あるフォルダの下にあるファイルをすべて走査して、例えば6カ月以上更新されていないものを抽出/削除したり、特定のテキスト処理を行ったりしたい場合に利用
変数意味
@fileファイル名(拡張子も含む)
@fname拡張子なしの基本ファイル名部分
@ext拡張子
@pathファイルのフルパス名
@relpath開始フォルダからのファイルの相対パス名
@isdirフォルダ名ならTRUE、ファイル名ならFALSE。if内部コマンドと組み合わせ、「/C "cmd /c if @isdir==FALSE notepad.exe @file"」などのように利用する
@fsizeファイル・サイズ(bytes単位)
@fdateファイルの更新日
@ftimeファイルの更新時間

0 件のコメント:

コメントを投稿