Solved

How to ping IP write error to log if failed and continue with script if successful

Posted on 2008-10-16
2
766 Views
Last Modified: 2012-05-05
I have written a script to check ping before checking for a file status. If the ping is successful continue if the ping fails write to error log. On successful ping check if a file exists, if it does not exsist log the error. If is does not exsist write the error to same error log file.

I am getting the error "expected Then on line 16", but I cannot figure out why?
Const ForReading = 1
Const OverwriteExisting = TRUE
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile("C:\Scripts\Look4File\File_Status_Err.txt")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Look4File\pclistfile_Corp.txt")
Do Until objFile.AtEndOfStream
    strComputer = objFile.ReadLine
    Set WshShell = CreateObject("WScript.Shell")
    PINGFlag = Not CBool(WshShell.run("ping -n 2 " & strComputer,0,True))
      If PINGFlag = True Then
	StrPath = "C:\Iris\Settled\Settled.csv"
	On Error Resume Next
        Set oFSO = CreateObject("scripting.FileSystemObject")
        If 0FSO.FileExists(strPath) Then
		Msgbox "it's there"
	ELSE	
		'Write information to Text File
		Fstat = strComputer & ": " & "Cannot Find file, or file does not exist!"
 
		Set FSO = CreateObject("Scripting.FileSystemObject")
		Set WriteErr = FSO.OpenTextFile("File_Status_Err.txt", 8, True)
		WriteErr.WriteLine(Fstat)
		WriteErr.Close
	End If
      ELSE 
	On Error Resume Next
        Set oFSO = CreateObject("scripting.FileSystemObject")
        If 0FSO.FileExists(strPath) Then
        	
		'Write information to Text File
		Fstat = strComputer & ": " & "System did not ping!"
 
		Set FSO = CreateObject("Scripting.FileSystemObject")
		Set WriteErr = FSO.OpenTextFile("File_Status_Err.txt", 8, True)
		WriteErr.WriteLine(Fstat)
		WriteErr.Close
	End If
      End If
Loop
 
MsgBox "All Done"

Open in new window

0
Comment
Question by:Tacobueno
  • 2
2 Comments
 
LVL 21

Expert Comment

by:AmazingTech
ID: 22734631
Line 16: 0FSO you type 'Zero'FSO same with Line 30.
0
 
LVL 21

Accepted Solution

by:
AmazingTech earned 125 total points
ID: 22734651
Fixed code.
Const ForReading = 1
Const OverwriteExisting = TRUE
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile("C:\Scripts\Look4File\File_Status_Err.txt")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Look4File\pclistfile_Corp.txt")
Do Until objFile.AtEndOfStream
    strComputer = objFile.ReadLine
    Set WshShell = CreateObject("WScript.Shell")
    PINGFlag = Not CBool(WshShell.run("ping -n 2 " & strComputer,0,True))
      If PINGFlag = True Then
	StrPath = "C:\Iris\Settled\Settled.csv"
	On Error Resume Next
        Set oFSO = CreateObject("scripting.FileSystemObject")
        If oFSO.FileExists(strPath) Then
		Msgbox "it's there"
	ELSE	
		'Write information to Text File
		Fstat = strComputer & ": " & "Cannot Find file, or file does not exist!"
 
		Set FSO = CreateObject("Scripting.FileSystemObject")
		Set WriteErr = FSO.OpenTextFile("File_Status_Err.txt", 8, True)
		WriteErr.WriteLine(Fstat)
		WriteErr.Close
	End If
      ELSE 
	On Error Resume Next
        Set oFSO = CreateObject("scripting.FileSystemObject")
        If oFSO.FileExists(strPath) Then
        	
		'Write information to Text File
		Fstat = strComputer & ": " & "System did not ping!"
 
		Set FSO = CreateObject("Scripting.FileSystemObject")
		Set WriteErr = FSO.OpenTextFile("File_Status_Err.txt", 8, True)
		WriteErr.WriteLine(Fstat)
		WriteErr.Close
	End If
      End If
Loop
 
MsgBox "All Done"

Open in new window

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hello again, all.  For those of you that have been following along, you'll know that this is my third article on this topic (though it is not Part III).  This article is sort of remedial, and probably the topic with which I should have started the s…
When it comes to writing scripts for a Client/Server computing environment it is essential to consider some way of enabling the authentication functionality within a script. This sort of consideration mainly comes into the picture when we are dealin…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question