xcopy:“/ d”找到更新的文件?

时间:2016-10-19 12:08:47

标签: batch-file automated-tests xcopy

xcopy允许使用参数/ d“复制比现有目标文件更新的所有源文件”(https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true)。

我的问题是:如果实际找到并复制了任何文件,有没有办法找出事后?无论是否发生任何复制操作,返回的errorlevel为0。

事情是:我想使用批处理脚本作为自动化测试的准备。它查找某个交换目录,如果找到较新的文件,则将内容复制到测试环境。如果没有找到更新的文件,测试将过时,应该跳过。

当然,我可能会实施一个不同的测试步骤来比较是否有更新的文件,请随时告诉我这是否是最佳实践。但对我来说,似乎有点整齐地覆盖它,因为我无论如何都称之为xcopy。

提前致谢,

弗洛里安

1 个答案:

答案 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.