Tôi đang chạy một chương trình từ một tệp bó, khi nó được thực hiện sẽ tự động sao lưu cơ sở dữ liệu MySQL của tôi.
Tôi muốn tệp bó tạo ra một bản sao lưu khác nhau cho mỗi lần chạy, để tôi có thể quay lại.
Tên tệp mong muốn sẽ là gnucash_shockwave-20121128210344.sql (Định dạng ngày YYYY-MM-DD-HH-MM-SS)
Tôi đã googled một vài điều nói thử %DATE:~4%
và %Date.Year%
nhưng tôi nhận được một lỗi nóiThe system cannot find the specified path.
Nếu tôi loại bỏ nỗ lực đánh dấu thời gian, tập lệnh sẽ hoạt động tốt, nhưng ghi lại bản sao lưu trước đó
Đây là phần mã tôi đang nói đến:
@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!
Bất kỳ đề xuất?