Solved

Vbscript fso copy file not returning an error code

Posted on 2008-09-29
8
6,995 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:Christopher Schene
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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:Christopher Schene
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
Industry Leaders: 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!

 
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
 
LVL 5

Expert Comment

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

Author Comment

by:Christopher Schene
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:Christopher Schene
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

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…

617 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