2012-04-10

Windowsバッチファイル : テキストファイルの文字コードを変換したい


Windowsバッチファイルでテキストファイルの文字コードを変換したい



○ テキストファイルの文字コードを変換したい

  • 文字コードセット:UTF-8 のファイル(utf8.txt)を用意する
  • バッチ実行ディレクトリに「unicode.txt」「sjis.txt」が出力される
@ECHO OFF

REM 文字コードセット:UTF-8 → Unicode
START /MIN /WAIT CMD /C CHCP 65001 ^& ^( SET /P x=""^<nul ^& CMD /U /C TYPE utf8.txt ^) ^>unicode.txt

REM 文字コードセット:Unicode → Shuft-JIS
START /MIN /WAIT CMD /C CHCP 932 ^& CMD /C TYPE unicode.txt ^>sjis.txt
※ [SET /P="(文字列)"<nul]の"(文字列)"がなんなのかは知らない


■ START
START ["タイトル"] [/D パス] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
 [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
 [/NODE ] [/AFFINITY <16 進数の関係マスク>] [/WAIT] [/B]
 [コマンド/プログラム] [パラメーター]
  • 指定されたプログラムまたはコマンドを実行するためにウィンドウを開き
  • オプション
    • /MIN : ウィンドウを最小化した状態で起動する
    • /WAIT : アプリケーションを起動し、それが終了するまで待機する
    • ※ その他は下記を参照
      help start
      


■ CMD
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] 文字列]
  • Windows コマンド インタープリターの新しいインスタンスを開始する
  • オプション
    • /C : "文字列" に指定されたコマンドを実行した後、終了する
    • /U : 内部コマンドの出力結果を Unicode でパイプまたはファイルに出力する
    • ※ その他は下記で参照
      help cmd
      


■ CHCP
CHCP [nnn]
  • 現在のコード ページ番号を表示または設定する
  • オプション
    • nnn : コードページ番号
    • ※ その他は下記で参照
      help chcp
      


■ SET
SET [変数名=[文字列]]
  • cmd.exe 環境変数を表示、設定、または削除する
  • オプション
    • SET /P="文字列"<NUl :改行しないで文字列を出力する
    • ※ その他は下記で参照
      help set
      



◇ 環境

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.




◇ 参考


1 件のコメント:

  1. すごく勉強になりました。ありがとうございます。

    返信削除