[转]Scripts to manage Text Files

上一篇 / 下一篇  2008-01-09 10:20:13 / 个人分类:QTP

Checking the Size of a File Before Reading It


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

Creating and Naming a Text File


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)

Creating a Text File


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")

Generating a File Name


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

Reading a Text File Character by Character


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

Reading a Text File into an Array


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

Reading a Text File from the Bottom Up


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

Writing Data to a Text File


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

TAG: QTP

 

评分:0

我来说两句

Open Toolbar