【发布时间】:2012-07-25 00:28:06
【问题描述】:
我需要为一个目录创建一个备份批处理脚本。它将每 10 分钟更新一次。我希望它只更新已添加到目录或在上次备份后修改的文件。
我尝试使用这个脚本:
@ECHO OFF
SET srcdir=D:\Source
SET tgtdir=D:\Target
SET /A topcnt=3
SET /A cnt=0
FOR /F "tokens=*" %%F IN ('DIR /A-D /OD /TW /B "%srcdir%"') DO (
SET /A cnt+=1
SETLOCAL EnableDelayedExpansion
IF !cnt! GTR !topcnt! (ENDLOCAL & GOTO :EOF)
ENDLOCAL
COPY "%srcdir%\%%F" "%tgtdir%"
)
我遇到的问题是它只在批处理文件所在的目录中有效,它将返回最近的三个文件,包括批处理文件本身。此外,复制功能不起作用。该程序未将 srcdir 与文件扩展名连接,因此程序无法确定要复制的文件。请指教。
【问题讨论】:
-
您是否编写了该脚本,或者您是否正在尝试调整现有脚本以满足您的需求?它似乎与您声明的目标无关。
标签: batch-file directory backup modified-date