I did mention that I have been trying to convert my VBScript files to PowerShell scripts due to ease of coding. One of them happened to be a script that iterates a folder containing logs, reads the contents of the log files and appends them to a text file (I was actually trying to consolidate all the RADIUS logs for parsing and storage in a database). In VBScript, here’s how it is written

Const ForReading = 1
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
Set folder = objFSO.GetFolder(“d:\a”)
Set outfile = objFSO.CreateTextFile(“d:\testout.txt”)

for each file in folder.Files
Set testfile = objFSO.OpenTextFile(file.path, ForReading)
Do While Not testfile.AtEndOfStream

line=testfile.ReadLine
‘write to a single output file
outfile.writeline(line)
Loop
testfile.close
Next

outfile.close
Set objFSO = Nothing

Set folder = Nothing
Set outfile = Nothing

Here’s how you can do it in PowerShell – with the cmdlet aliases


ls d:\a\ gc ac d:\testout.txt

This should be more than enough reason to learn PowerShell as a system administrator. More to come

Advertisements