Microsoft Scripting Runtime #2

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ADezii
    Recognized Expert Expert
    • Apr 2006
    • 8834

    Microsoft Scripting Runtime #2

    This is the 2nd Tip in a series of Tips on the Microsoft Scripting Runtime Library. The 1st Tip related to Drives, while this Tip will concentrate on the Folders (Directories) in your PC and various methods to retrieve information from and how to manipulate them. The code should be self explanatory and basically documents itself. Should there be any questions related to this Topic, please feel free to ask.
    [CODE=vb]
    'Accessing Folder Properties
    Dim fso As FileSystemObjec t, fldr As Folder
    Set fso = New Scripting.FileS ystemObject 'OR
    'Set fso = CreateObject("S cripting.FileSy stemObject")

    'Creates an Instance of a Folder
    Set fldr = fso.GetFolder(" C:\Windows\Syst em32")

    Debug.Print "Folder Properties of " & fldr.Path
    Debug.Print " Folder Name: " & fldr.Name
    Debug.Print " Folder Size: " & FormatNumber(fl dr.Size, 0, vbFalse, vbFalse, vbTrue) & " bytes"
    Debug.Print " Folder Created: " & fldr.DateCreate d
    Debug.Print " Folder Path: " & fldr.Path
    Debug.Print " Folder Last Modified: " & fldr.DateLastMo dified
    Debug.Print " Folder Last Accessed: " & fldr.DateLastAc cessed
    Debug.Print " Folder Drive: " & fldr.Drive
    Debug.Print " Files in Folder: " & FormatNumber(fl dr.Files.Count, 0, vbFalse, vbFalse, vbTrue) & " files"
    Debug.Print " Is this a Root Folder: " & fldr.IsRootFold er
    Debug.Print " Parent Folder: " & fldr.ParentFold er
    Debug.Print " Folder Path: " & fldr.Path
    'Could also use the GetBaseName Method of the File System Object
    Debug.Print " Folder Short Name: " & fldr.ShortName
    Debug.Print " Folder Short Path: " & fldr.ShortPath
    Debug.Print " Number of Sub-Folders: " & fldr.SubFolders .Count
    Debug.Print " Folder Type: " & fldr.Type
    Debug.Print


    'Code that creates a Temporary Folder (fso previously created)
    Dim msTemporaryFold er As String
    msTemporaryFold er = fso.GetSpecialF older(Temporary Folder).Path & "\"
    Debug.Print msTemporaryFold er
    Debug.Print


    'Code to see if a Folder exists (fso previously created)
    'Could also use the FolderExists Method of the File System Object
    If fso.FolderExist s("C:\Test") Then
    Debug.Print "Folder exists"
    Else
    Debug.Print "Folder does not exist"
    End If
    Debug.Print


    'Code to create a Folder (fso previously created)
    'Could also use the CreateFolder Method of the File System Object
    Set fldr = fso.CreateFolde r("C:\Windows\S ystem32\Temp Extraction Area")
    Debug.Print "Created Folder " & fldr.Name


    'Code to Delete a Folder (fso previously created)
    'Could also use the DeleteFolder Method of the File System Object
    Set fldr = fso.GetFolder(" C:\Folder 1\Folder 2\Folder to Delete")
    fldr.Delete True '"Folder to Delete" is Deleted


    'Code to Move a Folder (fso previously created)
    'Could also use the MoveFolder Method of the File System Object
    Set fldr = fso.GetFolder(" C:\Folder1\Fold er2\Folder3")
    fldr.Move "C:\" '"Folder3" moved to C:\


    'Code to Copy a Folder (fso previously created)
    'Could also use the CopyFolder Method of the File System Object
    Set fldr = fso.GetFolder(" C:\Folder1\Fold er2")
    fldr.Copy "C:\List", True 'Copies "Folder2" to C:\List[/CODE]
    OUTPUT:
    [CODE=text]
    Folder Properties of C:\WINDOWS\syst em32
    Folder Name: system32
    Folder Size: 888,994,639 bytes
    Folder Created: 10/1/2005 2:46:52 AM
    Folder Path: C:\WINDOWS\syst em32
    Folder Last Modified: 2/5/2008 7:04:21 PM
    Folder Last Accessed: 2/5/2008 7:04:22 PM
    Folder Drive: C:
    Files in Folder: 2,309 files
    Is this a Root Folder: False
    Parent Folder: C:\WINDOWS
    Folder Path: C:\WINDOWS\syst em32
    Folder Short Name: System32
    Folder Short Path: C:\Windows\Syst em32
    Number of Sub-Folders: 50
    Folder Type: File Folder

    C:\DOCUME~1\Arm und\LOCALS~1\Te mp\

    Folder exists

    Created Folder Temp Extraction Area[/CODE]
Working...