綜合運用:VB.NET文件系統對象
作者:佚名
這里主要就VB.NET文件系統對象的獲取系統文件夾路徑和綜合運用一個文件備份通用過程兩個方面講解,文章中有詳細的代碼。
我們常常和文件系統打交道,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
【編輯推薦】
責任編輯:田樹
來源:
博客