我需要一个脚本,从目录和子文件夹复制比指定时间(从文件读取)更新的文件到镜像文件夹结构(需要创建)。然而,这需要考虑日期和时间,而不仅仅是日期。
我似乎找不到使用批处理/机器复制或其他方法来做到这一点的方法。任何建议都将是感激的,最好不要使用powershell(我意识到它可能可以做到这一点,但我从来没有使用过它,学习曲线现在似乎有点陡峭)。
我可以调整保存在文件中的日期/时间以适合任何格式。
例如date-time为2016-08-17-18-00-00,则
OrgA1.txt (2016-08-17-18-01-00) > TargetA1.txt
OrgA2.txt (2016-08-17-17-00-00) > (not copied, as too old)
OrgBCD3.txt (2016-08-18-09-00-00) > TargetBCD3.txt
我可能需要使用forfiles
循环,但不确定如何考虑时间以及日期。
@echo off
setlocal enabledelayedexpansion
set compare=201608171800
for /r %%F in (*) do (
set file=%%~fF
for /f "tokens=2 delims=.=" %%I in ('wmic datafile where name^="!file:=\!" get lastmodified /format:list') do (
if "%%I" geq "%compare%" for /f "tokens=2,* delims=" %%A in ("%%~fF") do echo %%~fF -- N:target%%B
)
)
您可能需要调整tokens=2,*
中的"2"以适应您的需要。
注意:这是缓慢的,因为wmic
由于字符串比较,这适用于YYYYMMDDhhmmss
或YYYYMMDDhhmm
甚至YYYY
的%compare%
格式。