xcopy允许使用参数/ d“复制比现有目标文件更新的所有源文件”(https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true)。
我的问题是:如果实际找到并复制了任何文件,有没有办法找出事后?无论是否发生任何复制操作,返回的errorlevel为0。
事情是:我想使用批处理脚本作为自动化测试的准备。它查找某个交换目录,如果找到较新的文件,则将内容复制到测试环境。如果没有找到更新的文件,测试将过时,应该跳过。
当然,我可能会实施一个不同的测试步骤来比较是否有更新的文件,请随时告诉我这是否是最佳实践。但对我来说,似乎有点整齐地覆盖它,因为我无论如何都称之为xcopy。
提前致谢,
弗洛里安
答案 0 :(得分:0)
FOR /f %%a IN ('XCOPY /d /l ..\* .') DO SET /a numcopied=%%a
executed before you perform you actual xcopy /d
will set numcopied
to the number of files to be copied.
Note that I used the directories ..
and .
here for testing - you'd need to substitute your dirnames.