Batch Script - Move files to \%date%\%time%\
I have been trying to make a simple batch script to create database backups and move then into a folder named by date, and a sub folder by time.
This is what I have so far:
@echo Backing Up Server1
mysqldump -A -Q -R -c -e --lock-tables=FALSE -uXXXX -pXXXX -hX.X.X.1 > c:\backup\01.sql
@echo Backing Up Server2
mysqldump -A -Q -R -c -e --lock-tables=FALSE -uXXXX -pXXXX -hX.X.X.2 > c:\backup\02.sql
@echo Backing Up Server3
mysqldump -A -Q -R -c -e --lock-tables=FALSE-uXXXX -pXXXX -hX.X.X.3 > c:\backup\03.sql
move c:\backup\*.sql c:\backup\%folderdate%\%foldertime%\
I have this scheduled to run every 12hours from 8PM. However, while the batch that runs at 8PM is successful, the 8AM files remain unmoved. In fact in the AM, the 'foldertime' folder is created outside the 'folderdate' folder and sites next to the files that have been created but not moved.
And yet, at 8Pm everything works like a charm. Presumably this has to do with using 24hour time, as the folders are names in 24hr, while XP uses AM/PM in the 'modified' column. I do not see any logic that would cause this to happen the way it does, but I hope someone can point me in the right direction.
Insertthe following lines in your batch file:
You can now string them together in any format you want to create a dated folder name, eg,
echo %FOLDER% will now give you 2009-03-10
I recommend you use this reverse date format as it sorts better.
Remove the space at the end of the line SET YYYY=%DATE:~10,4%
Thanks to Rob
for this tip on the forum.