Batch Script - Pindahkan file ke \% date% \% time% \

  • Larutan
  • Catatan

Saya telah mencoba membuat skrip batch sederhana untuk membuat cadangan basis data dan memindahkannya ke folder bernama berdasarkan tanggal, dan subfolder berdasarkan waktu. Inilah yang saya miliki sejauh ini:

---

 @echo mati

@echo Mencadangkan Server1

mysqldump -A -Q -R -c -e --lock-tables = FALSE -uXXXX -pXXXX -hX.XX1> c: \ backup \ 01.sql

@echo Mencadangkan Server2

mysqldump -A -Q -R -c -e --lock-tables = FALSE -uXXXX -pXXXX -hX.XX2> c: \ backup \ 02.sql

@echo Mencadangkan Server3

mysqldump -A -Q -R -c -e --lock-tables = FALSE-uXXXX -pXXXX -hX.XX3> c: \ backup \ 03.sql

atur folderdate =% date: ~ 7, 2% -% date: ~ 4, 2% -% date: ~ 10, 4%

mkdir c: \ backup \% folderdate%

atur waktu lipat =% waktu: ~ 0, 2% -% waktu: ~ 3, 2%

mkdir c: \ backup \% folderdate% \% foldertime%

pindah c: \ backup \ *. sql c: \ backup \% folderdate% \% foldertime% \

---

Saya memiliki jadwal ini untuk menjalankan setiap 12 jam dari 8:00. Namun, sementara batch yang berjalan pada pukul 8 malam berhasil, file-file 8AM tetap tidak tergerak. Faktanya di AM, folder 'foldertime' dibuat di luar folder 'folderdate' dan situs di sebelah file yang telah dibuat tetapi tidak dipindahkan.

Namun, pada 8Pm semuanya bekerja seperti pesona. Mungkin ini ada hubungannya dengan menggunakan waktu 24 jam, karena folder adalah nama dalam 24 jam, sedangkan XP menggunakan AM / PM di kolom 'dimodifikasi'. Saya tidak melihat logika apa pun yang akan menyebabkan hal ini terjadi, tetapi saya berharap seseorang dapat mengarahkan saya ke arah yang benar.

Larutan

Masukkan baris berikut dalam file batch Anda:

 atur DD =% DATE: ~ 0, 2%

atur MM =% DATE: ~ 3, 2%

set YY =% DATE: ~ 8, 2%

set YYYY =% DATE: ~ 6, 4%

set HH =% TIME: ~ 0, 2%

atur MN =% TIME: ~ 3, 2%

Anda sekarang dapat merangkai mereka dalam format apa pun yang Anda inginkan untuk membuat nama folder bertanggal, misalnya,

atur FOLDER =% YYYY% -% MM% -% DD%

echo% FOLDER% sekarang akan memberi Anda 2009-03-10

Saya sarankan Anda menggunakan format tanggal terbalik ini karena lebih baik.

Hapus spasi di akhir baris SET YYYY =% DATE: ~ 10, 4%

Catatan

Terima kasih kepada Rob untuk tip ini di forum.
Artikel Sebelumnya Artikel Berikutnya

Tips