綜合運(yùn)用:VB.NET文件系統(tǒng)對(duì)象
我們常常和文件系統(tǒng)打交道,VB.NET文件系統(tǒng)對(duì)象推出之后,一切變得簡(jiǎn)單多了。要應(yīng)用FSO對(duì)象,須要引用一個(gè)名為Scripting的類型庫(kù),方法是,執(zhí)行VB6.0的菜單項(xiàng)“工程/引用”,添加引用列表框中的“MicrosoftScriptingRuntime”一項(xiàng)。然后我們?cè)凇皩?duì)象瀏覽器”中就可以看到Scripting類型庫(kù)下的眾多對(duì)象及其方法、屬性。
1,VB.NET文件系統(tǒng)對(duì)象之獲取系統(tǒng)文件夾路徑:
- \'返回Windows文件夾路徑
- FunctionGetWindir()
- DimFsoAsNewFileSystemObject
- GetWindir=Fso.GetSpecialFolder(WindowsFolder)
- SetFso=Nothing
- EndFunction
- \'返回Windows\\System文件夾路徑
- FunctionGetWinSysdir()
- DimFsoAsNewFileSystemObject
- GetWinSysdir=Fso.GetSpecialFolder(SystemFolder)
- SetFso=Nothing
- EndFunction
2,VB.NET文件系統(tǒng)對(duì)象綜合運(yùn)用:一個(gè)文件備份通用過(guò)程:
- \'Filename=文件名,Drive=驅(qū)動(dòng)器,Folder=文件夾(一層)
- SubBackupFile(FilenameAsString,DriveAsString,FolderAsString)
- DimFsoAsNewFileSystemObject\'創(chuàng)建FSO對(duì)象實(shí)例
- DimDest_pathAsString,CounterAsLong
- Counter=0
- DoWhileCounter<6\'如果驅(qū)動(dòng)器沒準(zhǔn)備好,繼續(xù)檢測(cè)。共檢測(cè)6秒
- CounterCounter=Counter+1
- CallWaitfor(1)\'間隔1秒
- IfFso.Drives(Drive).IsReady=TrueThen
- ExitDo
- EndIf
- Loop
- IfFso.Drives(Drive).IsReady=FalseThen\'6秒后目標(biāo)盤仍未準(zhǔn)備就緒,退出
- MsgBox"目標(biāo)驅(qū)動(dòng)器"&Drive&"沒有準(zhǔn)備好!",vbCritical
- ExitSub
- EndIf
- IfFso.GetDrive(Drive).FreeSpace<Fso.GetFile(Filename).SizeThen
- MsgBox"目標(biāo)驅(qū)動(dòng)器空間太小!",vbCritical\'目標(biāo)驅(qū)動(dòng)器空間不夠,退出
- 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\'如果目標(biāo)文件夾不存在,創(chuàng)建之
- Fso.CreateFolderDest_path
- EndIf
- Fso.CopyFileFilename,Dest_path&Fso.GetFileName(Filename),True
- \'拷貝,直接覆蓋同名文件
- MsgBox"文件備份完畢。",vbOKOnly
- SetFso=Nothing
- EndSub
- PrivateSubWaitfor(DelayAsSingle)\'延時(shí)過(guò)程,Delay單位約為1秒
- DimStartTimeAsSingle
- StartTime=Timer
- DoUntil(Timer-StartTime)>Delay
- Loop
- EndSub
【編輯推薦】