VBscript错误输入超过文件末尾

Pro*_*mer 6 vbscript

我有3个脚本,其中所有脚本必须以正确的顺序重复运行.

  1. 第一个脚本 - 根据PC的列表(在文本文件输入中列出)执行进程,具体取决于它们是否在线/离线.它输出在线PC和另一个离线PC列表
  2. 第二个脚本 - 从原始列表和第一个脚本的输出中获取PC差异,以了解哪些机器已从第一个脚本运行该过程
  3. 第3个脚本 - 使用差异,更新输入列表

下面的脚本是第3个脚本.每当我运行它时,它都会以"输入文件末尾"错误结束.我已经尝试了几次修改,它总是以这种方式结束.

我对第三个脚本的想法是第二个文件的Differences.txt输出仍然需要从第一个脚本运行进程,所以我只是删除原始输入文件并将其重命名为新的输出文件.但是,我还必须跟踪已经完成的过程,因此我必须将它们列出/附加到另一个文本文件.

在此先感谢您的帮助.

Option Explicit
Dim objFso
Dim Fso
Dim firstfile,secondfile,file,fileText

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists("Machines.ini") Then objFSO.DeleteFile("Machines.ini")

Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
Fso.MoveFile "Differences.txt", "Machines.ini"

firstfile="Notified.txt"
secondfile="Notified-all.txt"

Set fso=CreateObject("Scripting.FileSystemObject")
Set file=fso.OpenTextFile(firstfile)
fileText = fileText & file.ReadAll() & vbCrLf
file.Close

Set file=fso.OpenTextFile(secondfile)
fileText=filetext & file.ReadAll()
file.Close

set file=fso.CreateTextFile(secondfile,true)
file.Write fileText
file.close
Run Code Online (Sandbox Code Playgroud)

Ans*_*ers 14

调用ReadAll空文件时出现错误.检查AtEndOfStream属性并仅在内容为false时读取内容:

If Not file.AtEndOfStream Then fileText = fileText & file.ReadAll
Run Code Online (Sandbox Code Playgroud)