すぐにやり方を忘れるのでメモ。
読み込み:
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();
}