【问题标题】:VBScript opening text file but it's showing up as emptyVBScript 打开文本文件,但显示为空
【发布时间】:2013-12-28 21:13:57
【问题描述】:

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

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 

不回显任何东西,它只是直接跳到回显“测试 2”。我哪里错了?文件的目录是对的,和数字一起存在

编辑:我试过了

WScript.Echo numfile.ReadAll

然后收到一个空对话框

我也尝试以 Unicode 格式打开它,但没有任何区别

【问题讨论】:

    标签: windows loops batch-file text vbscript


    【解决方案1】:

    定义ForReading:

    Const ForReading = 1
    

    ,去掉任何“On Error Resume Next”,然后重试。

    如果你禁用了邪恶的 OERN,你会看到一条错误消息

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

    应该是

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

    【讨论】:

    • 我已经定义了它,以及我所有的变量,我只是从我粘贴的代码中省略了。还有其他建议吗?
    • 非常感谢!这么简单的答案,我不敢相信我忽略了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2010-12-18
    相关资源
    最近更新 更多