Solved

Vbscript fso copy file not returning an error code

Posted on 2008-09-29
8
6,809 Views
Last Modified: 2008-10-03
I have the following snipit of cod ethat copy a file.

However, when the copy fails I do not get an error return? Shouldn't this code snippit see an error?
I am setting "on error resume next, so it should continue when there is an error


Err.Clear
fso.CopyFile file, destPath,True            
If Err.Number <> 0 Then
processExitError "attemp to copy file failed " &  Chr(34) & file  & Chr(34) & "failed with error code " & Err.Description & "," & Err.Number
WScript.Quit(-1)                        
End If
Function copyFileButStripLeadingNumberFromSource(file, destPath)

	On Error Resume next

		If Len(file.name) > 3 Then

			header = Left(file.name, 2)			

			If IsNumeric(header) And Left(file.name, 3) = (header&"-") Then

				nameWIthPreceedingNumberRemoved = Right(file.name, Len(file.name) - 3)

				'search backwards for the first directory marker in the path 

				index = InStrRev(destpath, "\")

				If index = 0 Then			'no directory marker

					destpath = Replace(destpath, nameWIthPreceedingNumberRemoved)

				Else

					destpath = Left(destpath, index)

					destpath = destpath & nameWIthPreceedingNumberRemoved 

				End If

			End If

		End If

		copyFileButStripLeadingNumberFromSource= destPath

	    EchoAndLog "copy " &  file & " to " &  destPath

	    Err.Clear

		fso.CopyFile file, destPath,True		

		EchoAndLog "returnCode = " & Err.Description

		If Err.Number <> 0 Then

			processExitError "attemp to copy file failed " &  Chr(34) & file  & Chr(34) & "failed with error code " & Err.Description & "," & Err.Number 

			WScript.Quit(-1)				

		End If

		

End Function

Open in new window

0
Comment
Question by:cschene
  • 3
  • 3
  • 2
8 Comments
 
LVL 12

Expert Comment

by:zoofan
ID: 22602217
Where/what is the code for this function?  "processExitError"


zf
0
 
LVL 12

Expert Comment

by:zoofan
ID: 22602222
Or simply bypass that function with




zf
               If Err.Number <> 0 Then

                        'processExitError "attemp to copy file failed " &  Chr(34) & file  & Chr(34) & "failed with error code " & Err.Description & "," & Err.Number 

                         MsgBox Err.Number & " " & Err.Description & " " & Err.Source

                         WScript.Quit(-1)                                

                End If

Open in new window

0
 

Author Comment

by:cschene
ID: 22602307
That is not my problem, my problem is the the "err" object is not returning an error even when I know the copy has failed.
0
 
LVL 5

Accepted Solution

by:
lodar123 earned 250 total points
ID: 22605493
well i tried a quick run at it and when i get an error (for example the file do not exist, i get the err description.
your copyfile statement needs to be in brackets...... remove your on error resume next and it will give you a syntax error

This works....

On Error Resume Next

fso.CopyFile(file1, destination,True)

MsgBox Err.description 
 

This gives a Syntax error...

fso.CopyFile file1, destination, True   <---- no bracket = not good

MsgBox Err.description 

Open in new window

0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 5

Expert Comment

by:lodar123
ID: 22614704
Did you get it to work properly?
0
 

Author Comment

by:cschene
ID: 22623569
I think my problem may be that when in notepad, I don't get an error when I copy over the file.

let me try making the file read only and see whether that causes an error.
0
 
LVL 5

Expert Comment

by:lodar123
ID: 22623630
just make sure when you call fso.CopyFile(file1, destination,True) it as the brackets...or you get an syntax error... having on error resume next then this will be skipped and never get a return code
0
 

Author Comment

by:cschene
ID: 22635373
works....my real problem was that I thought that opening a file with note pad would prevent it from being overwritten. Instead I write protected the file and and the error was detected.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Welcome to part one of a multi-part tutorial series, VBScript for Windows System Administrators.  The goal of this series is to teach non-programmers how to write useful VBS code to automate their environment, and perform tasks faster, and in a more…
This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

706 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now