嗨,我一直在使用 Robocopy 备份文件,现在我需要做这样的事情
“robocopy [D:\test1\21-09-2013\sample.txt] [目的地]”
在这里,我有很多文件夹,如 Test1、test2、...testn。在每个测试文件夹下面都有日期明智的文件夹。
我的问题是如何创建批处理文件以跳过测试并仅复制当前日期的文件夹,即类似这样
“robocopy [D:\*\21-09-2013\sample.txt] [目的地]”
以便它应该复制当前日期的所有文件夹。
嗨,我一直在使用 Robocopy 备份文件,现在我需要做这样的事情
“robocopy [D:\test1\21-09-2013\sample.txt] [目的地]”
在这里,我有很多文件夹,如 Test1、test2、...testn。在每个测试文件夹下面都有日期明智的文件夹。
我的问题是如何创建批处理文件以跳过测试并仅复制当前日期的文件夹,即类似这样
“robocopy [D:\*\21-09-2013\sample.txt] [目的地]”
以便它应该复制当前日期的所有文件夹。
假设您的日期格式是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"
)
)
这可能适用于 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"
)