Jak zrobić to poprawnie. Próbuję nazwa pliku sql, który jest produkowany przez mysqldump do bieżącej daty i czasu. Mam już trochę badań na tej stronie i znalazłem tutaj kod: How to get current datetime on Windows command line, in a suitable format for using in a filename?wygeneruj plik kopii zapasowej używając daty i czasu jako nazwy pliku
Próbowałem go pomieszać z moim aktualnym kodem i wymyśliłem ten. Plik jest nazwany w bieżącej dacie i czasie, ale jest to plik tylko 1kb i nie tworzy pliku .sql. Ma to być plik sql 7 kb.
@For /f "tokens=2-4 delims=/ " %%a in ('date /t') do @(set mydate=%%c-%%a-%%b)
@For /f "tokens=1-2 delims=/:" %%a in ('time /t') do @(set mytime=%%a%%b)
@echo mydate= %mydate%
@echo mytime= %mytime%
mysqldump -u root -p --add-drop-table --create-options --password= onstor >c:\%mydate%_%mytime%.sql
UPDATE Nie sądzę, istnieje problem z polecenia mysqldump ponieważ działa dobrze, gdy robię to w ten sposób. Poniższy kod po prostu używa daty jako nazwy pliku.
@For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @(
Set Month=%%A
Set Day=%%B
Set Year=%%C
)
@echo DAY = %Day%
@echo Month = %Month%
@echo Year = %Year%
mysqldump -u root --add-drop-table --create-options --password= onstor >c:\%Day%-%Month%-%Year%.sql
Proszę o pomoc, dziękuję.
Czy to działa w 'cron'? – fishcracker
Pytanie dotyczy systemu Windows. – MxyL
Dla Linux-a: '$ (data +% Y-% m-% d-% H.% M.% S)' right ALE co dla WINDOWS? –