2016-03-08 127 views
1

我对Windows批处理脚本非常新,所以请忽略它是否是愚蠢的问题,我有一个要求,只有源文件在某些​​date_time后被修改,才能将源文件集复制到目的地,我设法使用XCOPY命令执行此操作。与模式匹配的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脚本的第二次运行,它不会在dest中找到文件a.txt因为它被处理,但要求仅在上次运行后修改了a.txt文件时才进行复制。

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

+0

你在MS-DOS下,一个很长的过时的16位操作系统下,或者在Windows下使用Windows命令提示符下运行这个吗? –

+0

使用Windows调度程序将其作为dos脚本运行。 – Pramod

+0

这意味着您将它作为Windows命令提示符下的Windows批处理文件运行,并且根本没有使用MS-DOS(或DOS)。 –

回答

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

/M开关更改文件的A标志。