Batch file 通过跳过/搜索父文件夹复制当前datewise文件夹的批处理文件

Batch file 通过跳过/搜索父文件夹复制当前datewise文件夹的批处理文件,batch-file,cmd,copy,xcopy,robocopy,Batch File,Cmd,Copy,Xcopy,Robocopy,嗨,我一直在使用Robocopy备份文件,现在我需要做类似的事情 “robocopy[D:\test1\21-09-2013\sample.txt][destination]” 这里我有很多文件夹,比如Test1、test2、testn。在每个测试文件夹下都有日期文件夹 我的问题是,我如何创建一个批处理文件来跳过测试,并仅复制当前日期的文件夹,例如 “robocopy[D:\*\21-09-2013\sample.txt][destination]” 这样就可以复制当前日期的所有文件夹。这在XP

嗨,我一直在使用Robocopy备份文件,现在我需要做类似的事情

“robocopy[D:\test1\21-09-2013\sample.txt][destination]”

这里我有很多文件夹,比如Test1、test2、testn。在每个测试文件夹下都有日期文件夹

我的问题是,我如何创建一个批处理文件来跳过测试,并仅复制当前日期的文件夹,例如

“robocopy[D:\*\21-09-2013\sample.txt][destination]”


这样就可以复制当前日期的所有文件夹。

这在XP Pro和更高版本中可能适用:

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set "dt=%%a"
set "YY=%dt:~2,2%"
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"

set "datestamp=%DD%-%MM%-%YYYY%"

for /d /r "d:\" %%a in (*) do (
if "%%~nxa"=="%datestamp%" robocopy "%%a" "destination"
)

假设您的日期格式为
dd/mm/yyyy
请尝试以下操作:

@ECHO OFF &SETLOCAL
set "mydate=%date:/=-%"
for /d %%a in (D:\test*) do (
    if exist "%%~a\%mydate%\" (
        robocopy "%%~a\%mydate%" "X:\path\to\destination\folder"
    )
)

嗨,谢谢你的信息。我可以在Robocopy中使用Monitor吗?你说的“Monitor”是什么意思?它是Robocopy的一个复制选项。(它监视源目录,并在检测到源中的一些更改后进行复制)我检查发现,该副本与第一个文件夹(如test1)挂起,并等待更改在同一文件夹中发生。我真正想要的是,它应该从所有父目录(test1、test2、…testn)复制可用的(当前日期的)文件夹,然后它应该监视并再次运行更改。此外,如果我在Windows任务计划程序中计划此任务,则无法运行此任务。请求进一步帮助……请你在这里提出一个新问题。