Secara teori, menggunakan /DCOPY:T
harus menyelesaikan semua masalah Anda.
Tapi, saya sudah melihat ini terjadi, dan saya tidak yakin saya akan menyebutnya "bug", tetapi lebih merupakan konsekuensi dari urutan operasi (OK, bug).
Perintah ini harus berfungsi untuk menyalin semua file dari C:\Brushes
ke D:\NEWBrushes
, dan /DCOPY:T
menyebabkan cap waktu dari folder sumber disalin ke folder tujuan:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
Apa yang saya lihat (setidaknya pada beberapa versi Robocopy) adalah bahwa perintah berhasil, tetapi cap waktu D:\NEWBrushes
folder diatur ke tanggal dan waktu saat ini.
Jadi sepertinya /DCOPY:T
fitur tersebut tidak berfungsi untuk folder "basis" (paling atas) yang Anda salin.
Saya percaya ini berfungsi, tetapi stempel waktu dari folder tujuan sedang "diinjak" oleh operasi yang kemudian dalam urutan operasi.
Apa yang saya yakini sedang terjadi untuk perintah ini:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
adalah sesuatu seperti ini:
- Buat folder
D:\NEWBrushes
jika belum ada
- Salin cap waktu dari
C:\Brushes
keD:\NEWBrushes
- Salin file dan sub folder dari
C:\Brushes
keD:\NEWBrushes
Tampaknya Langkah 3, modifikasi isi folder D:\NEWBrushes
menyebabkan stempel waktu D:\NEWBrushes
berubah.
Bagi saya, "solusi" adalah menjalankan robocopy
perintah untuk menyalin file dan folder, kemudian jalankan perintah (yang sama) robocopy
untuk kedua kalinya.
Jadi, pertama kali Anda menjalankan:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
semua file dan folder akan disalin. Kemudian jalankan lagi:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
(or)
robocopy "C:\Brushes" "D:\NEWBrushes" /DCOPY:T
Kali kedua robocopy
berjalan, tidak ada file atau folder di dalam D:\NEWBrushes
akan diubah, dan /DCOPY:T
opsi akan memberitahu robocopy
untuk menyalin cap waktu dari C:\Brushes
ke D:\NEWBrushes
(kecuali ada folder / file di C:\Brushes
yang telah berubah sejak menjalankan pertama kali robocopy
).
rsync
, tetapi bagaimana jika Anda tidak memiliki garis miring di akhir folder target Anda? Bagaimana dengan mencoba memodifikasi skrip pada level baris perintah alih-alih menggunakan GUI? Saya tahu pasti bahwa alat baris perintah akan melakukan apa yang Anda butuhkan.