PDA

View Full Version : Copy Files action


sigh71
03-06-2003, 08:49 PM
Is it possible to make the copy files action fail if one of the files
listed to be copied isn't found? or do i have to use the vbscript filecopy function and check its return value?

kinook
03-06-2003, 08:49 PM
No. One option would be, before copying, to add a step that conditionally builds (and fails) if the file doesn't exist. For instance, a Run Program step with a command of 'File xyz does not exist', and a conditional build rule of '[vbld_FSO.FileExists("xyz")]' equal to 0. Or you could use a Run Program step of %DOSCMD% copy xyz <dest> on the individual file, and it will fail if the file doesn't exist.

Marc
05-05-2003, 06:27 PM
Does Kinook intend to fix this 'feature' any time soon?

raistlin
04-30-2012, 02:28 AM
I think an option like "Fail build when one or more files are not found." to this step would really help.

I guess this is not quite possible because this step supports wildcard. So it is not able to do a proper counting.

kinook
04-30-2012, 06:28 AM
If you're doing a non-incremental, non-recursive copy, aren't excluding any files, and the files listed to be copied are all filenames and not wildcards or folders, you could use script code like this in the step's vbld_StepDone script event to fail if the copy count doesn't match the filename count:

Sub vbld_StepDone()
' fail the step if the number of files to be included does not match the number of files copied
If UBound(Split(Step.Property("Ext"), vbCrLf))+1 <> vbld_TempMacros()("COPYFILES_COPY_COUNT") Then
Builder.LogMessage2 "Number of copied files does not match list of files to copy", vbldLogLevelError
Step.BuildStatus = vbldStepStatFailed
End If
End Sub

http://www.kinook.com/VisBuildPro/Manual/scriptevents.htm
http://www.kinook.com/VisBuildPro/Manual/copyfilesaction.htm