![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 23:53 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样让VBS写入大文件 |
| 可打印版本 779 / 4 |
| 第1楼 knoppix7 | 发表于 2008-01-06 17:59 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
怎样让VBS写入大文件 sFile = "加密后的文件.exe"
str= (省略1.6W行) Function MakeFile() if Len(Trim(sFile)) = 0 Then Wscript.Quit Set oStream = Createobject("Adodb.Stream") Set oXML = Createobject("Microsoft.XMLDOM") Set oElement = oXML.CreateElement("oTmpElement") oElement.DataType = "bin.hex" oElement.NodeTypedValue = str With oStream .Type = 1 .Mode = 3 .Open .Write oElement.NodeTypedValue .SaveToFile sFile End With oStream.Close Set oStream = Nothing Set oXML = Nothing Set oElement = Nothing End Function 就是因为str变量过大.在转换的时候一下子就把我512内存全部吃完了. 我想问问。有没有办法让他分次从文件读取str的内容然后写入(第一次以后是附加)到"加密后的文件.exe" 鄙人基本不懂VBS.. |
|
| 第2楼 knoppix7 | 发表于 2008-01-06 18:21 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
我在想是不是可以用
TextStream一次读取指定大小的文件. 然后用 Adodb.Stream 写入. 或者分段。让Adodb.Stream分段追加写入 不知道是不是个办法. [ Last edited by knoppix7 on 2008-1-6 at 06:34 PM ] |
|
| 第3楼 s11ss | 发表于 2008-01-06 21:46 |
| 银牌会员 发帖 566 积分 2,098 | |
|
我也不是很懂TextStream
|
|
| 第4楼 kevin4000 | 发表于 2008-12-16 10:51 |
| 新手上路 发帖 1 积分 1 | |
|
这个问题还真没遇到过哦
|
|
| 第5楼 slore | 发表于 2008-12-16 13:19 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
objStream.Position = objStream.Size
然后再write 或者write多份……copy /b合并…… 感觉没有必要……吧。 bin转成str浪费太多空间 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |