#1
|
|||
|
|||
Copy Files action
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? |
#2
|
|||
|
|||
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.
|
#3
|
|||
|
|||
Does Kinook intend to fix this 'feature' any time soon?
|
#4
|
|||
|
|||
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. |
#5
|
|||
|
|||
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:
Code:
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/Ma...ilesaction.htm |
|
|