为什么VBS不能正确读取这个文本文件?

2023-12-25

我有以下代码来读取文本文件:

Option Explicit 
Dim InputFile 
Dim FSO, oFile 
Dim strData 

InputFile = "C:\Program Files (x86)\AVG\CloudCare\ClientVersion.txt" 
Set FSO = CreateObject("Scripting.FileSystemObject") 
Set oFile = FSO.OpenTextFile(InputFile) 
strData = oFile.ReadAll 
oFile.Close 
msgbox strData 

ClientVersion.txt的内容是:

CLIENT_VERSION_STRING   _T("3.5.2") //

当我运行 VBS 代码时,我得到以下信息:

如果我在同一位置创建一个具有相同内容的新文本文件,它就可以正常工作。 VBS 无法读取这个简单的文本文件是否有原因?我看不到该文件的权限有任何问题。


ÿþ is the 字节顺序标记 https://en.wikipedia.org/wiki/Byte_Order_Mark of a UTF-16 https://en.wikipedia.org/wiki/UTF-16Little Endian 编码文件。 UTF-16(与 ASCII/ANSI 不同)对一个字符使用两个字节,而不是一个字节。但是,那OpenTextFile方法默认将文件读取为 ASCII 文件,因此每个 2 字节字符都会被解释为两个单独的字符。

来自文档 https://msdn.microsoft.com/en-us/library/314cz14s%28v=vs.84%29.aspx:

Syntax

object.OpenTextFile(filename[, iomode[, create[, format]]])

论点
[…]
format
选修的。三者之一Tristate用于指示打开文件格式的值(三态真= -1 以 Unicode 打开文件,三态错误= 0 以 ASCII 格式打开文件,三态使用默认值= -2 作为系统默认打开文件)。如果省略,文件将以 ASCII 格式打开。

读取文件时指定正确的编码,问题就会消失:

Set oFile = FSO.OpenTextFile(InputFile, 1, False, -1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么VBS不能正确读取这个文本文件? 的相关文章

随机推荐

  • 具有等距间距的不同宽度的流体导航项

    我想创建一个流畅的水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 导航链接的宽度各不相同 第一个链接应左对齐 最后一个链接应右对齐 我使用以下技术取得的成功有限 ul display table width 100 li d
  • 用 href 包裹 img 标签的正则表达式包含 src

    编辑 抱歉巴特 我看过其他答案 但很难匹配这个 我想用一个特定的锚标记来包装一个图像标记 其中 src 是第二个属性 标题之后 该标记包含指向图像标记中 src 中找到的图像的链接 字符串中的 img 标签示例 这是通过tinymce wy
  • 找到所有可能的结束和开始重叠的组合

    在文中找到所有不重叠区域的组合 https stackoverflow com questions 53176104 find all combinations with non overlapped regionsI 代码粘贴在下面 该函
  • 在 sqlite 中制作字符串的规范化版本 - 波兰字符 ł

    Apple 提供了在数据库中使用存储在数据库中的文本的规范化版本创建附加列的示例 派生财产 https developer apple com library mac samplecode DerivedProperty Introduct
  • 更改线程实时调度策略失败:CONFIG_RT_GROUP_SCHED=y

    如果我在这里而不是超级用户发布此内容 我深表歉意 我试图在实时组中运行 docker 并且遇到了启用 cgroups CONFIG RT GROUP SCHED在内核中运行实时 docker 应用程序 此处 https docs docke
  • 从List>中获取对象并存储在ViewModel中

    建议 想要有逻辑地阅读答案 gt gt 选择 TAB 最旧的 Goal Presentation of books with related inventorydetails on homepage such as Book Title I
  • jQuery 中的自动完成功能以及动态添加的元素

    我的要求是当用户在输入字段之一输入一些字符 至少 3 个 时显示几个选项 这些字符也可能会动态添加 由于数据很大 我无法在页面加载时加载数据 有一个 ajax 调用来获取过滤后的数据 我得到的问题是Expected identifier第
  • 如何用JavaScript测试两个对象是否相同?

    我需要一个函数 function isSame a b 其中 如果a和b相同 则返回true 我试过return a b 但我发现 将返回 false 我期望这个函数可以得到一些结果 isSame 3 14 3 14 true isSame
  • Webpack 2 - 如何停止生成 CSS 和 HTML 的 .js 文件?

    我是 Webpack 2 的新手 所以请原谅我到目前为止的简单理解 根据网上的一些教程 我拼凑了一个工作package json and webpack babel config js file 本质上 我试图将 SCSS 转换为 CSS
  • MS SQL Server 2008“带(无锁)”相当于 IBM DB2 9.7

    在 MS SQL Server 2008 中你可以这样写 FROM EMPLOYEE as A with nolock DB2 9 7 是否有等效语法 谢谢 DB2 未提交的读取 与您一起 SELECT FROM whatevertable
  • apache 别名与符号链接

    在 UNIX 系统上使用 apache 时 如果您的文件系统在 home me web icons 中有图标 并且您希望浏览器能够在调用 url 时显示它们http www me com icons myicon jpg http www
  • 使用多值位置字段在 solr 中搜索

    我可以为 solr 中的位置类型字段索引多个值 修改后的响应schema xml索引修改后的 exampledocs 看起来像 查询 http 192 168 3 19 8983 solr select wt json indent tru
  • 从 iOS 应用程序内生成条形码

    我想获取一个数字字符串并生成一个可以由任何扫描仪读取的简单条形码 我已经可以使用相机并读取条形码 但现在我想生成条形码 有谁知道有一个 sdk 可以让我做到这一点 资源或代码片段吗 谢谢 唯一可以做到这一点的免费图书馆是可可触摸条形码 ht
  • 从 SignalR 调用特定客户端

    我想从服务器调用特定客户端 而不是广播给所有客户端 问题是我在一些 AJAX 请求的范围内 比如说在 aspx 代码隐藏中 而不是在 Hub 或 PersistentConnection 中 所以没有 Clients 属性 并且进行 aja
  • 文件在被取消之前上传[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 这里遇到了
  • 在 Windows 程序集中使用 nasm 的 Hello World

    我在用着nasm http sourceforge net projects nasm 编译以下程序集 然而 代码在 Windows 下的控制台中崩溃了 C gt nasm f win32 test asm o test o C gt ld
  • 多个函数中的未绑定本地错误[重复]

    这个问题在这里已经有答案了 我一直在创建一系列随机事件 其中每个函数对一组主要变量执行不同的操作 但我不断收到未绑定的本地错误 这是我的代码的简化版本 variable 1 def main global variable secondar
  • 如何使用 C# .NET 4.5 将文件从 ZIP 存档读取到内存而不先将其解压到文件?

    NET Framework 4 5 通过以下类添加了对 ZIP 文件的支持System IO Compression 假设我有 ZIP 存档sample xml根目录下的文件 我想直接从存档读取此文件到内存流 然后将其反序列化为自定义 NE
  • DocuSign getRecipientView ttl_expired 错误

    我正在使用 DocuSign API 发布到收件人帖子视图 URL 我收到一个响应 URL 但如果我按照该 URL 操作 它会告诉我 event ttl expired 示例网址 https demo docusign net Signin
  • 为什么VBS不能正确读取这个文本文件?

    我有以下代码来读取文本文件 Option Explicit Dim InputFile Dim FSO oFile Dim strData InputFile C Program Files x86 AVG CloudCare Client