VBScript打开文本文件,但它显示为空

时间:2013-12-28 21:13:57

标签: windows loops batch-file text vbscript

我有一个包含一些数字的文本文件,如下所示:

123456789
987654321

该文件名为numbers.txt

我正在尝试打开该文件并逐行读取并将其与另一个单独的数字进行比较

   'Create the file system object
   Set fso = CreateObject("Scripting.FileSystemObject")

   identify = "123456789"
   WScript.Echo identify
   numfile = fso.OpenTextFile("C:\numbers.txt", ForReading)

   WScript.Echo numfile.ReadLine
   WScript.Echo "test2"

   Do Until numfile.AtEndOfStream
      cell = numfile.ReadLine
      WScript.Echo cell
      If identify = cell Then 
         count = 1
      End If
   Loop

   WScript.Echo "end of loop"

但是我的代码在AtEndOfStream循环中陷入无限循环。此外,

WScript.Echo cell

始终是一个空对话框,

WScript.Echo numfile.ReadLine 

没有Echo任何东西,它只是跳过正确回应“测试2”。我哪里错了?该文件的目录是正确的,它存在数字

编辑:我试过了

WScript.Echo numfile.ReadAll

刚刚迎空了一个空对话框

我也尝试将其作为Unicode打开,但它没有任何区别

1 个答案:

答案 0 :(得分:0)

定义ForReading:

Const ForReading = 1

,摆脱任何“On Error Resume Next”,然后再试一次。

如果你禁用邪恶的OERN,你会看到

的错误信息
numfile = fso.OpenTextFile("C:\numbers.txt", ForReading)

应该是

Set numfile = fso.OpenTextFile("C:\numbers.txt", ForReading)