我试着做一些事情,可能只是为了你,但我不知道怎么做。我有一个文件夹(比如D:\Backup),我每天使用机器人拷贝放置备份。备份文件夹中有几个子文件夹以MM-DD-YYYY格式命名(即02-21-2014、02-22-2014等)。我想循环这些文件夹并找到最老的日期,然后将它重命名为今天的日期,并使用新命名的文件夹作为我的机器复制备份批处理文件。
发布于 2014-04-11 19:46:12
试试这个:
@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%然后,您可以在机器人复制命令中使用%$ You %。
发布于 2019-04-09 15:03:21
@echo off
Echo ********************************************************
echo Autor:
echo Datum: %date% um %time%
echo Zweck:
echo Vers.:
Echo ********************************************************
Echo ******************************************************** >> D:\Backups\LOGS\Logifle_%date%.log
echo Autor: >> D:\Backups\LOGS\Logifle_%date%.log
echo Datum: %date% um %time% >> D:\Backups\LOGS\Logifle_%date%.log
echo Zweck: Backup von Ordnern >> D:\Backups\LOGS\Logifle_%date%.log
echo Vers.: 1.0 >> D:\Backups\LOGS\Logifle_%date%.log
Echo ******************************************************** >> D:\Backups\LOGS\Logifle_%date%.log
pause
echo Um das Backup zu starten bitte beliebige Taste druecken...
pause >nul
robocopy D:\Austausch D:\Backups\Files /e /m /a-:SH /LOG+:D:\Backups\LOGS\Logifle_%date%.log
echo Das Backup wurde erfolgreich abgeschlossen! Mit beliebiger Taste fortfahren.
pause>nul
echo Um das Logfile auszudrucken, geben Sie bitte folgendes Wort ein: "Print" Ansonsten können Sie das Programm mit exit beenden.
set /p Print=
IF %Print% == Print (
echo Drucker wird gestartet
print /d:\\Servername\Druckername D:\Backup\LOG\Logdatei_%date%.log
pause >nul
Sie können das Programm nun mit einer beliebigen Taste beenden.
) else (
pause )https://stackoverflow.com/questions/23019927
复制相似问题