找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21868|回复: 7

[问题求助] [已解决]VBS获取WMI指定命名空间信息保存为txt文本不能正常换行

[复制链接]
发表于 2013-3-2 15:51:34 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-8 15:23 编辑

VBS把字符串写入文本文档后,回车符为何不能正确显示?
  1. Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
  2. Set objSWbemServices = objSWbemLocator.ConnectServer()
  3. Set objSWbemObject = objSWbemServices.Get("Win32_Process=4")
  4. strText = objSWbemObject.GetObjectText_()
  5. Wscript.Echo strText

  6. Set objAdodbStream = CreateObject("Adodb.Stream")
  7. With objAdodbStream
  8.     .Type = 2
  9.     .Mode = 3
  10.     .Open
  11.     .Charset = "unicode"
  12.     .WriteText strText
  13.     .SaveToFile "D:\test.txt", 2
  14.     .Close
  15. End With
复制代码
这个字符串写入文本文档后,回车符不能正确显示

换了Charset = "utf-8"  "CN-GB"也不行

该怎么处理?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-3-23 10:47:10 | 显示全部楼层
为什么那么多人还在用记事本
 楼主| 发表于 2013-3-24 13:51:06 | 显示全部楼层
本帖最后由 czjt1234 于 2013-3-24 13:54 编辑

我看了啊,你刚回了我就看了

不过你的回复我不知道怎么回帖而已,以为你只是随口一说

因为Word打开比较慢,所以用txt

而且我原来就试过存为.rtf,用写字板打开是正常的
发表于 2013-3-24 18:05:04 | 显示全部楼层
Windows换行符是\r\n,Linux换行符是\n,Mac换行符是\r

记事本只支持Windows换行符

昨天已经告诉你是记事本的问题了,真的需要说的那么明白?
 楼主| 发表于 2013-3-25 07:05:46 | 显示全部楼层
我试了这个参数,设置分行符

intNumber = objAdodbStream.LineSeparator        '返回当前分行符。默认值为 -1
objAdodbStream.LineSeparator = 13|-1|10                '设置分行符
Const adCR   = 13        '回车
Const adCRLF = -1        '回车换行
Const adLF   = 10        '换行

还是不行,也无法读取它是什么分行符

那请问怎么样读取和修改分行符?
发表于 2013-3-25 09:50:58 | 显示全部楼层
朽木不可雕也

  1. Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
  2. Set objSWbemServices = objSWbemLocator.ConnectServer()
  3. Set objSWbemObject = objSWbemServices.Get("Win32_Process=4")
  4. strText = objSWbemObject.GetObjectText_()
  5. Wscript.Echo strText

  6. Set objAdodbStream = CreateObject("Adodb.Stream")
  7. With objAdodbStream
  8.     .Type = 2
  9.     .Mode = 3
  10.     .Open
  11.     .Charset = "unicode"
  12.     .WriteText Replace(strText, vbLf, vbCrLf)
  13.     .SaveToFile "D:\test.txt", 2
  14.     .Close
  15. End With
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-3-25 10:33:07 | 显示全部楼层
原来如此

万分感谢
发表于 2013-3-25 12:12:05 | 显示全部楼层
换个高级点的编辑器吧少年,记事本不是你能驾驭的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 17:22 , Processed in 0.021681 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表