VBScript Files Property
last modified April 9, 2025
The Files
property in VBScript is part of the
FileSystemObject
and Folder
objects. It returns a
collection of all files in a specified folder. This property enables efficient
file enumeration and manipulation within directories. It's essential for file
management tasks in VBScript.
The Files
collection provides access to individual file objects
with their properties and methods. You can iterate through files, check their
attributes, or perform operations. This tutorial covers the Files
property with practical examples to demonstrate its usage.
Files Property Overview
The Files
property returns a Files
collection object
containing all files in a folder. Each file is represented as a
File
object with properties like Name, Size, and DateCreated. The
collection is accessed through a Folder
object.
Key features include the ability to count files and access them by index or name. The collection is read-only; you can't add or remove files directly. Understanding this property helps create powerful file management scripts.
Listing All Files in a Folder
This example demonstrates how to retrieve and display all files in a specified
folder. It shows basic usage of the Files
property with a simple
iteration. The script lists file names from the target directory.
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\Temp") Set files = folder.Files For Each file In files WScript.Echo file.Name Next Set files = Nothing Set folder = Nothing Set fso = Nothing
The script creates a FileSystemObject
and gets a folder reference.
The Files
property returns all files in the folder. A For Each loop
iterates through the collection, displaying each file name. Proper cleanup
releases all object references.
Counting Files in a Directory
This example shows how to count files in a directory using the
Files
collection's Count
property. It demonstrates
quick file enumeration without iterating through each file. The count includes
all files in the specified folder.
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\Windows\System32") fileCount = folder.Files.Count WScript.Echo "Number of files: " & fileCount Set folder = Nothing Set fso = Nothing
The script accesses the System32 directory and retrieves its file count. The
Count
property provides the total number of files immediately. This
is efficient for getting directory statistics without processing each file
individually.
Filtering Files by Extension
This example demonstrates filtering files by extension using the
Files
collection. It shows how to check file extensions during
iteration. The script lists only files with a specific extension (.txt in this
case).
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\Documents") Set files = folder.Files For Each file In files If LCase(fso.GetExtensionName(file.Name)) = "txt" Then WScript.Echo file.Name End If Next Set files = Nothing Set folder = Nothing Set fso = Nothing
The script checks each file's extension using GetExtensionName
.
Only files with .txt extension are displayed. This pattern can be adapted for
any file type filter. The comparison uses lowercase to ensure case-insensitive
matching.
Accessing File Properties
This example shows how to access various properties of files in the
Files
collection. It demonstrates retrieving size, creation date,
and other attributes. Each file object contains valuable metadata.
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\Temp") Set files = folder.Files For Each file In files WScript.Echo "Name: " & file.Name WScript.Echo "Size: " & file.Size & " bytes" WScript.Echo "Created: " & file.DateCreated WScript.Echo "Modified: " & file.DateLastModified WScript.Echo "---------------------" Next Set files = Nothing Set folder = Nothing Set fso = Nothing
The script displays multiple properties for each file in the Temp directory. Properties include name, size, creation and modification dates. This information is useful for file management and reporting tasks. Each file object provides these standard properties.
Checking for Specific Files
This example demonstrates checking if a specific file exists in a folder's
Files
collection. It shows how to search for a file by name. The
script verifies file existence without using the FileExists
method.
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\ImportantFiles") Set files = folder.Files targetFile = "report.xlsx" fileExists = False For Each file In files If LCase(file.Name) = LCase(targetFile) Then fileExists = True Exit For End If Next If fileExists Then WScript.Echo targetFile & " exists in the folder." Else WScript.Echo targetFile & " not found." End If Set files = Nothing Set folder = Nothing Set fso = Nothing
The script searches for "report.xlsx" in the ImportantFiles directory. It uses case-insensitive comparison to match filenames. This approach is useful when you need to process the file if found. The loop exits early when the file is located.
Source
FileSystemObject Documentation
In this article, we have explored the Files
property in VBScript,
covering its usage and practical applications. From simple file listing to
complex filtering and property access, these examples demonstrate powerful file
management capabilities. With this knowledge, you can enhance your file handling
scripts with robust collection operations.
Author
List all VBScript tutorials.