2014-04-11 63 views
0

我正在嘗試爲您做某些事情,但我不知道該怎麼做。我有一個文件夾(比如D:\ Backup),每天使用robocopy放置我的備份。備份文件夾中有幾個以MM-DD-YYYY格式命名的子文件夾(即02-21-2014,02-22-2014等)。我想循環瀏覽這些文件夾並找到最早的日期,然後將其重命名爲今天的日期,併爲我的robocopy備份批處理文件使用新重命名的文件夾。在批處理文件中循環瀏覽文件夾並將文件夾名稱轉換爲日期並檢查最早日期

+0

祝你好運。如果您展示您嘗試過的一些工作以及遇到的任何問題,該網站的成員可能會更有幫助。只要求代碼(非常廣泛)不會得到太多幫助。 – Walls

+0

如果使用在文件夾中正確排序的YYYY-MM-DD文件夾名稱格式,該任務將非常簡單。在標準資源管理器窗口中查看時也會發現這一點。 – foxidrive

回答

0

試試這個:

@echo off&cls 

set SearchFolder="D:\Backup" 

::FOR NT 
rem for /f "tokens=1-3 delims=/" %%a in ('echo %date%') do set "$today=%%a-%%b-%%c" 
::FOR XP 
for /f "tokens=1-3 delims=/" %%a in ('echo %date:~4%') do set "$today=%%a-%%b-%%c" 

setlocal EnableDelayedExpansion 
pushd %SearchFolder% 
for /f "tokens=1-3 delims=-" %%a in ('dir/b/ad') do (
set "#%%c%%a%%b=%%a-%%b-%%c" 
) 
for /f "tokens=2 delims==" %%a in ('set #') do (
set "$older=%%a" 
goto:next) 

:next 
::Renaming the oldest folder 
echo Oldest Folder = [!$older!] 
echo Today Folder = [%$today%] 
ren !$older! %$today% 

::Here your robocopy command. The today's date is in %$today% 

然後,您可以在您的ROBOCOPY命令中使用今天%$%。

+0

最舊的文件夾= [12-31-2011] 今日文件夾= [11-Fri 04-2014] 該命令的語法爲inc 按任意鍵繼續。 。 。 – BlueTube

+0

你使用XP嗎? – SachaDee

+0

查看我的編輯XP! – SachaDee

相關問題