Usando Fecha y Hora en un archivo por lotes para crear un nombre de archivo
Estoy ejecutando un programa desde un archivo por lotes, que cuando termina realiza una copia de seguridad automática de mi base de datos MySQL.
Me gustaría que el archivo por lotes creara una copia de seguridad diferente para cada ejecución, para poder hacer un backtrace.
El nombre de archivo deseado sería gnucash_shockwave-20121128210344. sql (Formato de fecha AAAA-MM-DD-HH-MM-SS)
He buscado en Google algunas cosas que decían “try %DATE:~4%
” y “%Date.Year%
” pero me da un error que dice The system cannot find the specified path.
Si quito el intento de marcar la hora, el script funciona bien, pero sobreescribe la copia de seguridad anterior
Aquí está la sección de código de la que hablo:
@REM ***EXECUTION***
echo. Starting backup...
SET timestamp %DATE:~-4%%DATE:~4,2%%DATE:~7,2%%TIME%
%mysqldir%\mysqldump -u %mysqluser% -p%mysqlpassword% -h %mysqlhost% -P %mysqlport% --databases --routines --verbose gnucash_shockwave > %BackupDir%\gnucash_shockwave-%timestamp%.sql
echo.------------------------------------------------------
echo. Backup complete!
¿Alguna sugerencia?