すぐにやり方を忘れるのでメモ。
読み込み:
var fso = WScript.CreateObject("Scripting.FileSystemObject"); var file = fso.OpenTextFile("test.txt"); var txt = ""; while (!file.AtEndOfStream) { var line = file.ReadLine(); txt += line + "\n"; } WScript.Echo(txt);
書き込み:
var fso = WScript.CreateObject("Scripting.FileSystemObject"); var csv = fso.CreateTextFile("result.csv", true, true); csv.WriteLine("名前,部署,一次会,二次会,希望予算,希望会場"); csv.Write("a,a,a,a,3,a\nb,b,b,b,3,b\nc,c,c,c,4,c\n");
注意点)
ファイル作成のメソッドは、以下の通り。UnicodeをFalseにして、マルチバイト文字を書き込むとエラーが出るので注意。(しかもデフォルトはFalse)
fso.CreateTextFile(ファイル名, 上書きするか, Unicode使うか)
ADODB.Streamを使います。
var strm = new ActiveXObject("ADODB.Stream"); strm.type = 2/* 1:バイナリ/2:テキスト */; strm.charset = "UTF-8"; strm.open(); strm.WriteText(data_str, 0/*文字列の書込*/); strm.SaveToFile(savepath, 2/*上書き*/); strm.close();
よく使うので関数にまとめたもの。
function saveToFile(fname, text, isUni) { var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.CreateTextFile(fname, true, isUni); f.Write(text); f.Close(); }