Solved

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

Posted on 2008-10-16
2
762 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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Welcome back!  My apologies for taking so long to write part two of this series; it's been a long time coming!  As I promised in Part 1, this article will focus on how to locate those elusive AD properties that you are searching for.  Why is this us…
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…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
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…

777 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