【问题标题】:xcopy: did "/d" find newer file?xcopy: "/d" 找到更新的文件了吗?
【发布时间】:2017-03-01 01:44:21
【问题描述】:

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

我的问题是:有没有办法事后查明是否真的找到并复制了任何文件?无论是否发生了任何复制操作,返回的错误级别都是 0。

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

当然,如果有较新的文件,我可能会实施不同的测试步骤来比较,请随时告诉我这是否是最佳实践。但对我来说,一步覆盖它似乎很不错,因为我还是调用了 xcopy。

提前致谢,

弗洛里安

【问题讨论】:

  • robocopy 命令更加灵活,并且有一些日志记录选项。
  • Xcopy 默认显示它正在复制的文件。您必须使用 /Q 开关关闭该选项。

标签: batch-file automated-tests xcopy


【解决方案1】:
FOR /f %%a IN ('XCOPY /d /l ..\* .') DO SET /a numcopied=%%a

执行之前你执行你实际xcopy /dnumcopied设置为要复制的文件数。

请注意,我在这里使用了目录 ... 进行测试 - 您需要替换您的目录名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 2023-03-18
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多