[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 求VBS脚本快捷的二进制读写

我要把一个二进制文件每一个byte都写入一个txt里
如二进制文件为:
682669BC1A2B
那我就要输出到txt
104
38
105
188
26
43
请问怎么高效地输出?
或是换一种方式?
  1. a=timer
  2. Set ado = CreateObject("adodb.stream")
  3. Set fso = CreateObject("scripting.filesystemobject")
  4. Set file = fso.OpenTextFile("049.txt",2,True)
  5. ado.Type = 1
  6. ado.Open
  7. ado.LoadFromFile("049.xxx")
  8. Do Until ado.EOS
  9. file.Write ascb(ado.Read(1))&" "
  10. Loop
  11. ado.Close
  12. msgbox timer-a
复制代码
这样一个4兆的文件都要28秒,而且狂耗cpu
应该就是耗在ascb上面

或者能不能换一种“加密”方式
就是让不能直接打开就行了
求了……

  1. '示例:以二进制数据对文件进行Base64编码和解码,不能是0字节的空文件
  2. Dim oStream, file, oNode, s
  3. file = "1.txt"
  4. 'base64编码
  5. Set oStream = CreateObject("ADODB.Stream")
  6. oStream.Type = 1    'adTypeBinary
  7. oStream.Mode = 3    'adModeReadWrite
  8. oStream.Open()
  9. oStream.LoadFromFile file
  10. Set oNode = CreateObject("Msxml2.DOMDocument").CreateElement("base64")
  11. oNode.DataType = "bin.base64"
  12. oNode.nodeTypedValue = oStream.Read()
  13. oStream.Close()
  14. Wsh.Echo oNode.Text
  15. 'base64解码
  16. s = oNode.Text
  17. Set oNode = CreateObject("Msxml2.DOMDocument").CreateElement("base64")
  18. oNode.DataType = "bin.base64"
  19. oNode.Text = s
  20. Set oStream = CreateObject("ADODB.Stream")
  21. oStream.Type = 1    'adTypeBinary
  22. oStream.Mode = 3    'adModeReadWrite
  23. oStream.Open()
  24. oStream.Write oNode.nodeTypedValue
  25. oStream.SaveToFile file, 2    'adSaveCreateOverWrite
  26. oStream.Close()
  27. MsgBox "ok"
复制代码
1

评分人数


QQ 20147578

TOP

回复 2# czjt1234


    牛逼!

TOP

返回列表