返回列表 发帖

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

本帖最后由 pcl_test 于 2016-8-8 15:23 编辑

VBS把字符串写入文本文档后,回车符为何不能正确显示?
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer()
Set objSWbemObject = objSWbemServices.Get("Win32_Process=4")
strText = objSWbemObject.GetObjectText_()
Wscript.Echo strText
Set objAdodbStream = CreateObject("Adodb.Stream")
With objAdodbStream
    .Type = 2
    .Mode = 3
    .Open
    .Charset = "unicode"
    .WriteText strText
    .SaveToFile "D:\test.txt", 2
    .Close
End WithCOPY
这个字符串写入文本文档后,回车符不能正确显示

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

该怎么处理?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

QQ 20147578

为什么那么多人还在用记事本

TOP

本帖最后由 czjt1234 于 2013-3-24 13:54 编辑

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

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

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

而且我原来就试过存为.rtf,用写字板打开是正常的

QQ 20147578

TOP

Windows换行符是\r\n,Linux换行符是\n,Mac换行符是\r

记事本只支持Windows换行符

昨天已经告诉你是记事本的问题了,真的需要说的那么明白?

TOP

我试了这个参数,设置分行符

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

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

那请问怎么样读取和修改分行符?

QQ 20147578

TOP

朽木不可雕也
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer()
Set objSWbemObject = objSWbemServices.Get("Win32_Process=4")
strText = objSWbemObject.GetObjectText_()
Wscript.Echo strText
Set objAdodbStream = CreateObject("Adodb.Stream")
With objAdodbStream
    .Type = 2
    .Mode = 3
    .Open
    .Charset = "unicode"
    .WriteText Replace(strText, vbLf, vbCrLf)
    .SaveToFile "D:\test.txt", 2
    .Close
End WithCOPY
1

评分人数

TOP

原来如此

万分感谢

QQ 20147578

TOP

换个高级点的编辑器吧少年,记事本不是你能驾驭的。

TOP

返回列表