当前位置:编程学习 > VB >>

用VBS脚本向文件写入数据限制文件的大小不起作用?

请大家帮忙看看,用VBS脚本向文件写入数据限制文件的大小,可是程序一直在写,不知道文件出在那里。请大家帮忙看看,
dim a,b,fso,f,c
Set fso=wscript.createobject("scripting.filesystemobject")
Set f = fso.OpenTextFile("D:\tst2016.txt",8,true)
b = InputBox("请输入行数:" ,"title",500)
c = InputBox("请输入文件大小:" ,"title",50)
write_content = InputBox("请输入要保存的内容:","title",5)
for a=0 to b
  Set g = fso.GetFile("D:\tst2016.txt")
  If  (g.Size) /1024 /1024< c then
   f.WriteLine(Cstr(a) + write_content) 
  Else
   MsgBox "文件已超过50M,禁止写入!" & vbCrLf & "现在文件大小为:" &(g.Size) /1024 /1024
   Exit for
  End If 
Next
MsgBox "写入成功!"
Set f = nothing
Set g = nothing
set fso = Nothing f.WriteLine(Cstr(a) + write_content) 
f.Close 不行呀。。。程序还是一直写

我要是的 写入文件到一定的大小就不再写入。。不知道如何控制 循环写的时候写到内存中去了,在最后才统一保存数据,所以取到的文件大小是初始值,永远都不会变,你在每次循环中执行一次close方法即可取到正确的文件大小信息
dim a,b,fso,f,c
Set fso=wscript.createobject("scripting.filesystemobject")
b = InputBox("请输入行数:" ,"title",50000)
c = InputBox("请输入文件大小(单位M):" ,"title",50)
write_content = InputBox("请输入要保存的内容:","title",5)
for a=0 to b
If Not fso.fileexists("D:\tst2016.txt") Then fso.createtextfile("D:\tst2016.txt")
  Set g = fso.GetFile("D:\tst2016.txt")
  If g.Size/1024/1024<cint(c) then
  Set f = fso.OpenTextFile("D:\tst2016.txt",8,true)
  f.WriteLine(Cstr(a) & write_content)
  f.close  
  Else
  MsgBox "文件已超过"&c&" M,禁止写入!" & vbCrLf & "现在文件大小为:"&g.Size/1024/1024&" M"
  Exit for
  End If  
Next
MsgBox "写入成功!"
Set f = nothing
Set g = nothing
set fso = Nothing
补充:VB ,  COM/DCOM/COM+
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,