我对 Windows 批处理脚本很陌生,所以请忽略它是否是愚蠢的问题,只有在特定日期时间后修改源文件时,我才要求将文件集从源复制到目标,我设法使用 XCOPY 命令来完成。

XCOPY C:\Src\*.txt C:\Target /D /S /Y

这在第一次运行时运行良好,现在扭曲是一旦处理了目标文件夹文件,它将被重命名为其他名称和扩展名,因此下次我的脚本运行时,它在目标文件夹中找不到与源相同的文件名,因为它被处理和重命名。那么有没有办法在 XCOPY 或任何其他 Windows 命令中对目标文件夹中的文件名进行模式匹配,如果找到匹配,则继续进行 date_time 检查并复制或忽略?

示例源目录文件:
a.txt
b.txt
c.txt

目标目录文件 第一个脚本运行后:
a.txt
b.txt
c.txt

处理后和第二次运行脚本之前的目标目录文件:
a_201603071130.ok
b_201603071130.ok
c_201603071130.ok

对于使用 XCOPY 脚本的第二次运行,它在处理时在目标中找不到文件 a.txt,但要求仅在上次运行后修改 a.txt 文件时才进行复制。

我可以通过存储上次运行时间并检查下一次运行等来做到这一点,但我想知道是否还有其他方法可以做到这一点。

最佳答案

XCOPY C:\Src\*.txt C:\Target /D /S /Y /M
/M 开关更改文件的 A 标志。

关于windows - 带模式匹配的 XCOPY,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35858486/

10-13 09:25