[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2205
  • Last Modified:

Output script results to text file

I'm not a big vbscript guy, so I'm not sure what I'm doing here.  I have a vb script (a .vbs file on my pc) running this script to get the serial # of the pc:

On Error Resume Next
StrComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS",,48)
For Each objItem in colItems
      Wscript.echo "SerialNumber: " & objItem.SerialNumber
      Next

However, this just outputs the serial # to the screen.  I need to put these serial numbers into a text file.  So I added some lines to do this:

Open ("C:\results.txt") For Output As #1
Write #1, "SerialNumber: " & objItem.SerialNumber

But I keep getting an error:  Expected End of Statement on the Open line right at the "For" part.

Am I doing this right?  I'm sure it's just something stupid I'm doing, any help is appreciated, thanks!
0
ericb1
Asked:
ericb1
  • 7
  • 4
  • 2
  • +1
1 Solution
 
vinnyd79Commented:
try

Open "C:\results.txt" For Output As #1
Print #1, "SerialNumber: " & objItem.SerialNumber
Close #1
0
 
vinnyd79Commented:
or you can open for append if you want to add to the file:

Open "C:\results.txt" For append As #1
Print #1, "SerialNumber: " & objItem.SerialNumber
Close #1
0
 
Erick37Commented:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS", , 48)

Open "C:\results.txt" For Output As #1

For Each objItem In colItems
     Print #1, "SerialNumber: " & objItem.SerialNumber
Next

Close #1
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
ericb1Author Commented:
I still get the same thing:  a compilation error:  Expected End of Statement on line 5,  Character 23 which is the F in For Output statement.

I'm running this directly from my pc as a .vbs file, not sure if that makes a difference?  Thanks!
0
 
vinnyd79Commented:
use fso:

Dim fso,txtFile
Set fso = CreateObject("Scripting.FileSystemObject")

Set txtFile = fso.CreateTextFile("C:\results.txt", True)
    txtFile.WriteLine "SerialNumber: " & objItem.SerialNumber
    txtFile.Close
   
Set txtFile = Nothing
Set fso = Nothing
0
 
vinnyd79Commented:
or maybe:

Dim fso,txtFile

On Error Resume Next
StrComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS",,48)

Set fso = CreateObject("Scripting.FileSystemObject")
Set txtFile = fso.CreateTextFile("C:\results.txt", True)

For Each objItem in colItems
     txtFile.WriteLine "SerialNumber: " & objItem.SerialNumber
next

txtFile.Close
Set txtFile = Nothing
Set fso = Nothing
0
 
aelatikCommented:
Don't use anything. If its plain VBS just PIPE it to a file like :

C:\cscript yourfile.vbs >> result.txt
0
 
aelatikCommented:
Hiding the scripting logo would be like :

C:\cscript yourfile.vbs >> result.txt //nologo

note : In batch or scripting the ECHO command parses the text to screen. The parsed text can always be PIPED to a textfile.
0
 
ericb1Author Commented:
no dice.  The fso method seemed to work, it didn't give any errors, but the txt file wasn't created.
0
 
vinnyd79Commented:
If you remove the On Error line,does it cause an error?
0
 
ericb1Author Commented:
Oops, yes it does.  I get an error on creating the text file:  ActiveX component can't create object: 'Scripting.FileSystemObject'
0
 
vinnyd79Commented:
0
 
ericb1Author Commented:
Not sure how to allow the file to be created, do I have to allow ActiveX permissions somewhere?  Any help is appreciated, thanks!
0
 
vinnyd79Commented:
I think you might be missing the scripting runtime files (Scrrun.dll) which is included in the above download link.
0
 
Erick37Commented:
vinnyd79 has the correct answer.  Remove "On Error Resume Next" to see what if anything is causing an error for you...
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

  • 7
  • 4
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now