フォルダの全テキスト・ファイルをSJISにNo.24974
Papageno さん 08/05/28 14:30
 
現在、インドで作られたパッケージの導入を行っています。

バグや変更のためプログラムが再納品されるのですが、
何度注意してもファイルをSJISで納品するルールが守られず、
こちらでUTF-8→SJISへエンコードしなおす作業にかなりの
時間をとられます。

秀丸エディタの機能でマクロを使っても構いませんが、
指定したフォルダの全テキスト・ファイル *.txt, *.sql, *.java
をSJISに変換する方法はあるでしょうか?

[ ]
RE:24974 フォルダの全テキスト・ファイルNo.24975
秀丸担当 さん 08/05/28 15:26
 

>秀丸エディタの機能でマクロを使っても構いませんが、
>指定したフォルダの全テキスト・ファイル *.txt, *.sql, *.java
>をSJISに変換する方法はあるでしょうか?

マクロライブラリで探してみると、マクロ作者様によって作られた一括でエン
コードを変更するものもあるようで、それを使ってみてもいいかもしれません。

1つ見てみて気になったのが、変換前のエンコードが統一されていることが前提
のようで、混在しているとしたら、Shift-JISをUTF-8として読み込んで、文字化
けして、それをShift-JISに変換するといったような危険なことになるかもしれ
ないです。

やる前には必ずバックアップを取っておいたほうがいいかもしれません。

試しに、なるべく危険なことにならないように配慮して以下のようなマクロを作
ってみましたが、これでもいいかもしれないです。


$s=searchbuffer;
#s=searchoption;
grep ".", "*.txt;*.sql;*.java", ".", regular, filelist;
#h=hidemaruhandle(0);
while(1){
  searchdown2 "^.+(?=\\([0-9]+\\))",regular
  if(result==false)break;
  openfile "/h /n " + gettext(foundtopx,foundtopy,foundendx,foundendy);
  #h2=hidemaruhandle(0);
  #f=false;
  if(encode==6){  //UTF-8
    showwindow 1;
    question "このファイルをShift-JISに変換しますか?";
    if(result==yes){
      saveas filename2,sjis;
      #f=true;
    }
  }
  setactivehidemaru #h;
  closehidemaru #h2;
  golineend2;
  if(#f){
    insert "●このファイルをShift-JISに変換";
  }
}
hilightfound 0;
setsearch $s, #s;

[ ]
RE:24975 フォルダの全テキスト・ファイルNo.24976
Papageno さん 08/05/28 18:23
 
>マクロライブラリで探してみると、マクロ作者様によって作られた一括でエン
>コードを変更するものもあるようで、それを使ってみてもいいかもしれません。

http://hide.maruo.co.jp/lib/macro/changecode.html
使い方が悪いのか、UTF-8→SJISのエンコードはできませんでした。

>試しに、なるべく危険なことにならないように配慮して以下のようなマクロを作
>ってみましたが、これでもいいかもしれないです。

SJISとUTF-8が混在するフォルダで実行しましたが、
マクロ実行後UTF-8だったファイルを秀丸エディタ7.08で開くと
[エンコードの種類を指定しなおす]さないとファイルを開けません。

[ ]
RE:24976 フォルダの全テキスト・ファイルNo.24977
MKT さん 08/05/28 18:47
 
>使い方が悪いのか、UTF-8→SJISのエンコードはできませんでした。

どうしても秀丸エディタでということでなければ、
ベクターでツールを漁るのも手だと思います。
http://www.vector.co.jp/vpack/filearea/win/util/text/conv/code/

例えば、CharsetConverter 1.01u というのもよさそうですが。
以下は使い方のページ
http://www.unibirth.com/products/CharsetConverter/

[ ]
RE:24977 フォルダの全テキスト・ファイルNo.24978
Papageno さん 08/05/28 19:16
 
>どうしても秀丸エディタでということでなければ、
>ベクターでツールを漁るのも手だと思います。

秀丸エディタでエンコードしていたので他のソフトウェアに
考えが及びませんでした。

ありがとうございます。

[ ]
RE:24976 フォルダの全テキスト・ファイルNo.24981
秀丸担当 さん 08/05/29 09:19
 

>http://hide.maruo.co.jp/lib/macro/changecode.html
>使い方が悪いのか、UTF-8→SJISのエンコードはできませんでした。

これは読み込みしなおすだけなので、目的が違うようです。
標準機能としてもあって、[ファイル]→[エンコード]でエンコードを指定して読
み込みしなおすことと同じです。

>SJISとUTF-8が混在するフォルダで実行しましたが、
>マクロ実行後UTF-8だったファイルを秀丸エディタ7.08で開くと
>[エンコードの種類を指定しなおす]さないとファイルを開けません。

そうですか。
こちらで試した限りでは特に問題ないです。
もしそうなるとしたら、元々文字化けが含まれていたか何かで、普通にUTF-8で
開いて、名前を付けて保存でShift-JISで保存した後、読み込みしなおしても同
じことが起きるのではないかと思いますが。
別のツールで解決されたのなら、もう必要ないかもしれないですね。

[ ]