用于Windows XP的VB文件大小

时间:2012-08-23 23:08:24

标签: file vbscript windows-xp size

嗨,这可能听起来很奇怪,下面是我的VB代码

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set filesys = CreateObject("Scripting.FileSystemObject")
'Set fileapp = filesys.OpenTextFile("C:\TEST.txt", ForAppending, True) 
Set filewrt = filesys.OpenTextFile("C:\TEXT.txt", ForWriting, True) 
Set filesize = filesys.GetFile("C:\TEXT.txt")


filewrt.Write("HELOOO")
msgbox filesize.size
filewrt.close

此脚本在Windows 7中显示6字节的值为6字节作为文件大小,但在XP中它显示0,即使文件大小为6字节....任何想法?

编辑:

我想通了,不得不首先关闭文件,然后显示XP的filesize.size以显示正确的文件大小。

仍然不知道为什么这可以在Windows 7上运行...有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我最好的猜测是对两个版本的Windows或FileSystemObject

之间的文件缓存进行更改

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364218%28v=vs.85%29.aspx

根据http://msdn.microsoft.com/en-us/library/z9ty6h50%28v=vs.84%29.aspx

  

Close方法刷新缓冲区并关闭文件。

因此,在IO被刷新到磁盘之前,XP版本没有看到文件大小。