それで話を聞いてみると、
書き込み中のログに対して監視を行なっているというではありませんか。
監視中にログをローテートさせれば失敗するのは自明と言えます。
分からないという方は、
以下のコードをお試しください。
Const ForReading = 1 | |
If WScript.Arguments.Count <> 1 Then | |
msgbox "コマンドオプションでファイルを指定してください。", , "エラー" | |
WScript.Quit | |
End If | |
Set objFSO = CreateObject("Scripting.FileSystemObject") | |
Set objFile = objFSO.OpenTextFile(WScript.Arguments(0), ForReading) | |
msgbox WScript.Arguments(0) & "を読み込みロック中です。", , "確認" | |
objFile.Close |
適当なファイルをログファイルに見立て、
このスクリプトの第一引数につっこんでください。
メッセージボックスが表示されている間に、
ログファイルに見立てたファイルの名前を変更してみてください。
その操作は失敗するはずです。
読み込みロック中は名前の変更ができないからこうなるのですが、
意外と知らない人が多いみたいなので口にしてみました。
ちなみに常時監視とまでいかなくても、
アンチウイルスのスキャンなどでも起こる可能性があります。
だからアホな監視の設定はしないようにお願いします。