文件夹(子目录包括)和文件移动,如果它是特定文件夹的特定日期以进行备份。其余的需要删除

时间:2013-02-28 09:26:42

标签: batch-file cmd

这是我第一次访问stackoverflow,并希望对这个特定主题提供一些帮助,我现在正在努力解决这个问题。我一直在寻找,到目前为止没有任何解决方案有帮助。我的问题如下:

我想查看不同的文件夹和子目录,并使用 BATCH 文件移动特定日期的文件,其余部分应删除。这是常规的维护。

文件夹布局如下,仅作为示例:

C:\Batch\Test1  
|Kent  
  |New Folder  
    |New Folder   
      28_02.txt  
|Jordan Hal  
|Wayne Bruce  
  27_02.txt  
  26_02_Backup.txt  
  28_02_Backup.rar

这是我到目前为止的代码:

@echo off

for /d %%a in ("C:\Batch\Test1\*") do (  
  for /d %%b in ("C:\Batch\Test1\%%a\*") do (  
    IF NOT EXIST "C:\Batch\Backup\%%~nxa\%%~nxb" MD "C:\Batch\Backup\%%~nxa\%%~nxb"  
    forfiles /p "%%~b" /m *.* /d -02/29/2013 /c "cmd /c move @file  "C:\Batch\Backup\%%~nxa\%%~nxb""  
    RD /s /q "C:\Batch\Test1\%%~nxa" 2>"C:\Batch\Backup\log.txt"  
  )  
)  

pause

它只备份文件夹,但不备份子目录和文件。

提前致谢! ; P

1 个答案:

答案 0 :(得分:1)

使用robocopy。它是为这种任务而制定的。

robocopy "C:\Batch\Test1" "C:\Batch\Backup" /s /minage:20130229