中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 13:10
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » write方法能否覆盖原来文本?
可打印版本  792 / 12
第1楼 zhoushijay 发表于 2007-05-09 18:21
高级用户 发帖 375 积分 845
write方法能否覆盖原来文本?
如题,不要在文件尾开始写入,要重新开始写怎么做?
第2楼 baomaboy 发表于 2007-05-09 19:55
银牌会员 发帖 554 积分 1,513
CreateTextFile的false
OpenTextFile的2
都可以 (8是操作文件末尾)
第3楼 zhoushijay 发表于 2007-05-10 12:49
高级用户 发帖 375 积分 845
set wrt=fso.opentextfile("num.jay",2)
wrt.write num



OpenTextFile的2 还是从文件尾开始写的,不覆盖
第4楼 zhoushijay 发表于 2007-05-10 12:55
高级用户 发帖 375 积分 845
我是想存储一个计数器的值,我的方法是把它存放在TXT文件中,然后下次运行前从文本中读取。
高手有什么更好的办法也请指点一下,不用这个方法也行
第5楼 baomaboy 发表于 2007-05-10 13:34
银牌会员 发帖 554 积分 1,513
Originally posted by zhoushijay at 2007-5-10 12:49:
set wrt=fso.opentextfile("num.jay",2)
wrt.write num

OpenTextFile的2 还是从文件尾开始写的,不覆盖




我不知道在你那里为什么会是追加,我已经试过了,而且符合微软在帮助中的解释,是覆盖。。。。你的代码还是要你仔细分析。
第6楼 baomaboy 发表于 2007-05-10 13:49
银牌会员 发帖 554 积分 1,513
如果可以,发你全部的代码上来,每个细微之处都有可能是出错的地方。
第7楼 zhoushijay 发表于 2007-05-10 14:05
高级用户 发帖 375 积分 845
还是昨天那个代码

set fso=createobject("scripting.filesystemobject")
Set ie=WScript.CreateObject("InternetExplorer.Application")
set rde=fso.opentextfile("num.jay",1)
num=rde.readall '在这里读取出计数器的初始值
num=int(num)
do until err<>0
num=num+1 '初始值+1后,也就是检测下一章小说地址是否有效
ie.navigate "http://www.readnovel.com/novel/15763/"&num&".html"
wscript.sleep 10000
set wrt=fso.opentextfile("num.jay",2)
wrt.write num '每次有效后将NUM的值存入NUM.JAY文件,以便下次读取
on error resume next
isnull(ie.document.title)
msgbox(ie.document.title)
loop
msgbox("目前的最后章节为第"&num&"章!")
msgbox(err)
第8楼 zhoushijay 发表于 2007-05-10 14:07
高级用户 发帖 375 积分 845
现在的问题是num.jay这个文件里的数字并没有像预想中的那样递加
第9楼 baomaboy 发表于 2007-05-10 14:53
银牌会员 发帖 554 积分 1,513
Originally posted by zhoushijay at 2007-5-10 14:07:
现在的问题是num.jay这个文件里的数字并没有像预想中的那样递加


所以说要把源码拿上来才好分析吗,少了一个.close而已

第10楼 baomaboy 发表于 2007-05-10 14:58
银牌会员 发帖 554 积分 1,513
很佩服LZ把方法和技巧应用于实际操作中的创意。
第11楼 zhoushijay 发表于 2007-05-10 15:40
高级用户 发帖 375 积分 845
谢谢baomaboy,问题解决了

只是有一处不明白,我还以为这个CLOSE应该加在上一个opentextfile中,原因是上一次文件是只读模式打开的,并没有关闭,
为什么CLOSE是需要加在后一个opentextfile中的?
第12楼 baomaboy 发表于 2007-05-10 16:02
银牌会员 发帖 554 积分 1,513
大概试了下代码没仔细分析,我也疏忽了第一个opentextfile,并不是说CLOSE需要加在后一个opentextfile中,作为好的编程习惯第一个也是要关闭的当你的目的num=rde.readall 达到之后,之所以没出错是因为rde和wrt好比是两不相关的人在操作同一个物件,正好一个在操作而另一个只是在看(读)而已。
第13楼 zhoushijay 发表于 2007-05-10 16:29
高级用户 发帖 375 积分 845
明白了,如果2个都在操作的话就有可能出现无法访问的错误了吧,
好的习惯,上完厕所记得冲一下 -___-!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023