我们常常和文件系统打交道,VB.NET文件系统对象推出之后,一切变得简单多了。要应用FSO对象,须要引用一个名为Scripting的类型库,方法是,执行VB6.0的菜单项“工程/引用”,添加引用列表框中的“MicrosoftScriptingRuntime”一项。然后我们在“对象浏览器”中就可以看到Scripting类型库下的众多对象及其方法、属性。
1,VB.NET文件系统对象之获取系统文件夹路径:
- \'返回Windows文件夹路径
- FunctionGetWindir()
- DimFsoAsNewFileSystemObject
- GetWindir=Fso.GetSpecialFolder(WindowsFolder)
- SetFso=Nothing
- EndFunction
- \'返回Windows\\System文件夹路径
- FunctionGetWinSysdir()
- DimFsoAsNewFileSystemObject
- GetWinSysdir=Fso.GetSpecialFolder(SystemFolder)
- SetFso=Nothing
- EndFunction
2,VB.NET文件系统对象综合运用:一个文件备份通用过程:
- \'Filename=文件名,Drive=驱动器,Folder=文件夹(一层)
- SubBackupFile(FilenameAsString,DriveAsString,FolderAsString)
- DimFsoAsNewFileSystemObject\'创建FSO对象实例
- DimDest_pathAsString,CounterAsLong
- Counter=0
- DoWhileCounter<6\'如果驱动器没准备好,继续检测。共检测6秒
- CounterCounter=Counter+1
- CallWaitfor(1)\'间隔1秒
- IfFso.Drives(Drive).IsReady=TrueThen
- ExitDo
- EndIf
- Loop
- IfFso.Drives(Drive).IsReady=FalseThen\'6秒后目标盘仍未准备就绪,退出
- MsgBox"目标驱动器"&Drive&"没有准备好!",vbCritical
- ExitSub
- EndIf
- IfFso.GetDrive(Drive).FreeSpace<Fso.GetFile(Filename).SizeThen
- MsgBox"目标驱动器空间太小!",vbCritical\'目标驱动器空间不够,退出
- ExitSub
- EndIf
- IfRight(Drive,1)<>":"Then
- DriveDrive=Drive&":"
- EndIf
- IfLeft(Folder,1)<>"\\"Then
- Folder="\\"&Folder
- EndIf
- IfRight(Folder,1)<>"\\"Then
- FolderFolder=Folder&"\\"
- EndIf
- Dest_path=Drive&Folder
- IfNotFso.FolderExists(Dest_path)Then\'如果目标文件夹不存在,创建之
- Fso.CreateFolderDest_path
- EndIf
- Fso.CopyFileFilename,Dest_path&Fso.GetFileName(Filename),True
- \'拷贝,直接覆盖同名文件
- MsgBox"文件备份完毕。",vbOKOnly
- SetFso=Nothing
- EndSub
- PrivateSubWaitfor(DelayAsSingle)\'延时过程,Delay单位约为1秒
- DimStartTimeAsSingle
- StartTime=Timer
- DoUntil(Timer-StartTime)>Delay
- Loop
- EndSub
【编辑推荐】