2013-02-28 45 views
2

這是我第一次在stackoverflow,並希望對這個特定的話題,我現在掙扎了一段時間的幫助。我一直在四處搜尋,迄今爲止還沒有解決方案。我的問題是這樣的:文件夾(包含子目錄)和文件如果是特定日期時移動到特定文件夾以備用。其餘需要刪除

我想通過不同的文件夾和子目錄中查找並移動使用的是批處理文件,剩下的應該是deleted.This的具體日期是日常維護的文件。

該文件夾的內容編排如下,只是作爲一個例子:

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

出現了幾個問題。你想在特定日期備份已經改變的文件嗎?或者你想備份在特定日期之前更改過的文件嗎?你想保留文件夾結構,還是希望所有文件直接進入備份目錄?如果您還想備份文件夾:是否希望備份將所有文件和子文件夾包含在其中,而不管*最後修改日期? – 2013-02-28 17:59:42

+0

我希望文件夾結構保持完全一樣,所以它會是相同的結構,只是在備份文件夾中。我希望文件和文件夾完全按照它們的方式備份到備份文件夾中,但只有具有比特定日期更早的日期的文件需要備份。 – Dreaderz 2013-03-01 06:56:57

回答

1

使用robocopy。這是爲了完成這種任務。

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

非常感謝。我使用了另一種方法,如下所示:@echo off move「C:\ 123 \ Ori - 複製」C:\ 123 \ Backup cd備份forfiles -p「C:\ 123 \ Backup」-s -m * 。* -d -0 -c「cmd/c del @path」暫停 – Dreaderz 2013-03-05 08:58:34

相關問題