読んだら閉じる

少し前にVBScriptで書いたものを、試しにJScriptに書き換えてみたのだが
どうしてもファイルを移動させる個所がエラーになる。
だけどその時は原因がわからなかったので、諦めて放っておいた。


その原因が先程わかった。
読み込んだファイルを閉じていないからだったみたい。


VBScriptだと

set sfo = createobject("scripting.filesystemobject")
aaa = sfo.opentextfile("test.txt").readall
msgbox(aaa)
sfo.movefile "test.txt", "aa\"
set sfo = nothing

このような記述でファイルを閉じなくても移動できた。


JScriptだと閉じないと移動してくれないらしい。

var sfo = new ActiveXObject("scripting.filesystemobject");
var aaa = sfo.opentextfile("test.txt");
WScript.echo(aaa.readall());
aaa.close();
sfo.movefile("test.txt", "aa\\");
sfo = null;


そういえば、UWSCは閉じないと16ファイルくらいでエラーが出たようだった気もする。
やっぱ閉じるのが当たり前なんだろうけど、気付かん時は気付かんよ。
VBScriptだと問題なしだから、余計気付かん。


VBScriptで200ファイルをそれぞれ閉じないで試してみたところ
連続で読み込めたし移動も出来た。
でも、閉じた方がいいんだろうね、たぶん。