Reputation: 135
I do have a xcopy statement in bat file.. would you please help me to append today's date to one of directories in destination xcopy /S /E /I %sourceFolder% "C:\Shared\copy\%destinationFolder%"
today date is 06072013 so I want my destination look like below
C:\Shared\copy-today's date........
Thanks
Upvotes: 3
Views: 26665
Reputation: 39777
Just use %date%
in your command:
xcopy /S /E /I %sourceFolder% "C:\Shared\copy\copy-%date%"
Note: this will keep the date in the original format.
Assuming your local date format is Fri 06/07/2013
you can format it into 06072013
by cutting up the string like this:
%date:~4,2%%date:~7,2%%date:~10,4%
So the final command will be:
xcopy /S /E /I %sourceFolder% "C:\Shared\copy\copy-%date:~4,2%%date:~7,2%%date:~10,4%"
Upvotes: 2
Reputation: 41234
This is method of getting a date stamp that doesn't depend on the regional settings. Wmic is available in Windows XP Pro and higher.
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=%YYYY%-%MM%-%DD%
md "C:\Shared\copy-%stamp%"
xcopy here...
Upvotes: 3
Reputation: 67216
xcopy /S /E /I %sourceFolder% "C:\Shared\copy-%date:/=%\%destinationFolder%"
Upvotes: 2
Reputation: 4750
Something like this...
for /f "tokens=2-4 delims=/ " %%A in ('echo.%Date%') do set Dest=C:\Shared\copy-%%A%%B%%C
xcopy /S /E /I "%sourceFolder%" "%Dest%"
Upvotes: 0