2013-05-03 73 views
1

我已經做了一些尋找,但只是找不到確切的代碼。我擁有的是一系列備份到遠程位置的服務器備份。我需要一種方法,讓每個晚上爲此遠程位置服務器運行一個Windows腳本,並根據我需要保留的天數刪除文件。腳本根據日期刪除文件夾

每晚使用%random%標記以基於腳本的備份完成一個唯一的文件名。例如,我需要保留最近20天的備份值,並刪除剩餘的部分。

我查看了「forfiles」,但刪除了所有子文件夾內特定天數後的所有文件。

我只需要一個簡單的腳本來查看給定文件夾中主文件夾(目錄)的日期。它會根據日期刪除並刪除該文件夾和所有子文件夾。

在此先感謝

回答

0

使用forfiles結合的,如果檢查

你需要一個像

ForFiles /P "PATH TO FOLDERS" /D -20 /C "CMD /C if @ISDIR==TRUE rmdir @FILE"

0

聲明假設每個備份是一個文件夾中,那麼這將跳過最新20文件夾並刪除其餘部分。刪除echo關鍵字以激活rd命令。

您可以將/ t:c添加到DIR命令以使用文件夾創建時間。請參閱DIR /?爲選項。

@echo off 
pushd "d:\backup" && (
for /f "skip=20 delims=" %%a in ('dir /a:d /o:-d /b') do echo rd /s /q "%%a" 
) 
pause 
相關問題