Demonstration scrīpt that uses the FileSystemObject to ensure that a text file is not empty before attempting to read it. scrīpt must be run on the local computer.
Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") Set ōbjFile = objFSO.GetFile("C:\Windows\Netlogon.log") If objFile.Size > 0 Then Set ōbjReadFile = objFSO.OpenTextFile("C:\Windows\Netlogon.log", 1) strContents = objReadFile.ReadAll Wscrīpt.Echo strContents objReadFile.Close Else Wscrīpt.Echo "The file is empty." End If
Demonstration scrīpt that uses the FileSystemObject's GetTempName method to generate a file name, and then creates a file by that name.
Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") strPath = "C:\FSO" strFileName = objFSO.GetTempName strFullName = objFSO.BuildPath(strPath, strFileName) Set ōbjFile = objFSO.CreateTextFile(strFullName) objFile.Close objFSO.DeleteFile(strFullName)
Demonstration scrīpt that creates a new, empty text file. scrīpt must be run on the local computer.
Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") Set ōbjFile = objFSO.CreateTextFile("C:\FSO\scrīptLog.txt")
Demonstration scrīpt that uses the FileSystemObject's GetTempName method to generate random file names. scrīpt must be run on the local computer.
Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") For i = 1 to 10 strTempFile = objFSO.GetTempName Wscrīpt.Echo strTempFile Next
Demonstration scrīpt that uses the FileSystemObject to read a text file character-by-character, and individually echo those characters to the screen. scrīpt must be run on the local computer.
Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") Set ōbjFile = objFSO.OpenTextFile("C:\FSO\New Text Document.txt", 1) Do Until objFile.AtEndOfStream strCharacters = objFile.Read(1) Wscrīpt.Echo strCharacters Loop
Demonstration scrīpt that uses the VBscrīpt Split command to read a line from a commas-separated values file, and then place the individual items in that line into an array.
Const ForReading = 1 Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") Set ōbjTextFile = objFSO.OpenTextFile _ ("c:\scrīpts\servers and services.txt", ForReading) Do Until objTextFile.AtEndOfStream strNextLine = objTextFile.Readline arrServiceList = Split(strNextLine , ",") Wscrīpt.Echo "Server name: " & arrServiceList(0) For i = 1 to Ubound(arrServiceList) Wscrīpt.Echo "Service: " & arrServiceList(i) Next Loop
Demonstration scrīpt that uses the FileSystemObject to read a text file, and then to echo the text file in inverse order (that is, beginning with the last line in the text file and ending with the first line).
Dim arrFileLines() i = 0 Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") Set ōbjFile = objFSO.OpenTextFile("C:\FSO\scrīptLog.txt", 1) Do Until objFile.AtEndOfStream Redim Preserve arrFileLines(i) arrFileLines(i) = objFile.ReadLine i = i + 1 Loop objFile.Close For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1 Wscrīpt.Echo arrFileLines(l) Next
Demonstration scrīpt that retrieves the status for all the services installed on a computer, and then saves the service name and status to a text file.
Const ForAppending = 8 Set ōbjFSO = CreateObject("scrīpting.FileSystemObject") Set ōbjTextFile = objFSO.OpenTextFile _ ("c:\scrīpts\service_status.txt", ForAppending, True) Set colServices = GetObject("winmgmts:").ExecQuery _ ("Select * from Win32_Service") For Each objService in colServices objTextFile.WriteLine(objService.DisplayName & vbTab & _ objService.State) Next objTextFile.Close