NonSoft

コマンドライン(バッチ)で文字コード変換する方法


 ち〜な〜み〜に〜

いつも同じ操作を繰り返す時は出来るだけ操作を簡単にしたいものです。
そういう時はコマンドライン(バッチファイル)で記述すると自動化出来て楽です。

いつも同じファイルやフォルダを文字コード変換する時も同様だと思います。
そういう時に便利な文字コード変換ツール「文字コード判定&変換ツール.NET」を紹介します。

「文字コード判定&変換ツール.NET」はコマンドライン(バッチ)対応ですので、
いつも同じような文字コード変換作業をバッチファイルで簡略化する事が出来ます。

「文字コード判定&変換ツール.NET」による文字コード変換のコマンドライン記述方法を
以下に記述しますのでお試しください。Windows7やWindows8でも動作確認済です。

対応(変換可能)な文字コードはSJIS、JIS、EUC、UNICODE(UTF-16)、UTF-7、UTF-8です。
対応(変換可能)な改行コードはCRLF、CR、LFです。


文字コード変換関係のその他のツールやサンプルソースはこちらです。
文字コード変換/文字コード判定

もしかすると、こちらの情報が役立つかもしれません。
VBSやVBAで文字コードを変換する方法
文字コード判定/変換ツール(VB6のソース付)
文字コード判定/変換DLL(VB6/VB.NET/C#.NET)


★コマンドライン(バッチ)で文字コード変換する方法
以下のバッチファイルは「文字コード判定&変換ツール.NET」を使用しています。

REM NonCodeNet.exe [入力ファイルまたはフォルダPATH] [変換条件]
REM [変換条件]は省略可能です。
REM [-BAT]       :画面を表示しない                     (省略時:画面表示)
REM [-OFL出力PATH]   :出力ファイル/フォルダPATH         (省略時:入力と同じ)
REM [-ICD入力文字コード]:SJIS,JIS,EUC,UNICODE,UTF7,UTF8       (省略時:自動判定)
REM [-OCD出力文字コード]:SJIS,JIS,EUC,UNICODE,UTF7,UTF8       (省略時:SJIS)
REM [-CRLF]       :出力ファイルの改行コード(CRLF)       (省略時:CRLF)
REM [-CR]        :出力ファイルの改行コード(CR)         (省略時:CRLF)
REM [-LF]        :出力ファイルの改行コード(LF)         (省略時:CRLF)
REM [-BOM]       :出力ファイルにBOMを付加する          (省略時:BOM無)
REM [-EXT拡張子]    :変換対象の拡張子をカンマ区切りで指定 (省略時:*)
REM [-SUB]         :サブフォルダを変換対象にする         (省略時:対象外)

REM ファイル指定:文字コード変換(SJIS→JIS変換)
NonCodeNet.exe "D:\Temp\test.txt" -BAT -OFL"D:\Temp\test.txt" -ICDSJIS -OCDJIS -CRLF 

REM ファイル指定:文字コード変換(JIS→EUC変換、改行コード=CR)
NonCodeNet.exe "D:\Temp\test.txt" -BAT -OFL"D:\Temp\test.txt" -ICDJIS -OCDEUC -CR 

REM ファイル指定:文字コード変換(EUC→UNICODE変換、BOM有り)
NonCodeNet.exe "D:\Temp\test.txt" -BAT -OFL"D:\Temp\test.txt" -ICDEUC -OCDUNICODE -CRLF -BOM 

REM ファイル指定:文字コード変換(UNICODE→UTF7変換)
NonCodeNet.exe "D:\Temp\test.txt" -BAT -OFL"D:\Temp\test.txt" -ICDUNICODE -OCDUTF7 -CRLF 

REM ファイル指定:文字コード変換(UTF7→UTF8変換、BOM無し)
NonCodeNet.exe "D:\Temp\test.txt" -BAT -OFL"D:\Temp\test.txt" -ICDUTF7 -OCDUTF8 -CRLF 

REM フォルダ指定:文字コード変換(UTF8→UTF7変換、拡張子=*、サブフォルダ対象外)
NonCodeNet.exe "D:\Temp" -BAT -OFL"D:\Temp" -ICDUTF8 -OCDUTF7 -CRLF -EXT* 

REM フォルダ指定:文字コード変換(UTF7→UNICODE変換、拡張子=a,b,c、サブフォルダ対象)
NonCodeNet.exe "D:\Temp" -BAT -OFL"D:\Temp" -ICDUTF7 -OCDUNICODE -CRLF -EXTa,b,c -SUB 

REM フォルダ指定:文字コード変換(UNICODE→EUC変換、拡張子=*、サブフォルダ対象)
NonCodeNet.exe "D:\Temp" -BAT -OFL"D:\Temp" -ICDUNICODE -OCDEUC -LF -EXT* -SUB 

REM フォルダ指定:文字コード変換(EUC→JIS変換、拡張子=*、サブフォルダ対象)
NonCodeNet.exe "D:\Temp" -BAT -OFL"D:\Temp" -ICDEUC -OCDJIS -CRLF -EXT* -SUB 

REM フォルダ指定:文字コード変換(JIS→SJIS変換、拡張子=*、サブフォルダ対象)
NonCodeNet.exe "D:\Temp" -BAT -OFL"D:\Temp" -ICDJIS -OCDSJIS -CRLF -EXT* -SUB