Bagaimana cara menyalin hanya file-file baru DAN hanya yang dimodifikasi setelah tanggal tertentu?

25

Saya ingin menyalin file dari satu drive ke drive lain, tetapi saya hanya ingin menyalin file sumber yang lebih baru dari file tujuan. TETAPI , saya juga hanya ingin menyalin file sumber yang telah diubah setelah tanggal tertentu.

Saya tahu saya bisa menggunakan xcopy untuk melakukan salah satu dari hal-hal ini, tetapi saya ingin melakukan keduanya pada saat yang sama.

Jadi misalnya, saya ingin menyalin semua file sumber bertanggal pada atau setelah 3/1/2013, tetapi selain itu saya hanya ingin file disalin jika file sumber lebih baru daripada tujuan. Jadi idealnya saya ingin melakukan sesuatu seperti ini:

xcopy c:\*.* e:\*.* /D:03-01-2013

dikombinasikan dengan sesuatu seperti ini:

xcopy c:\*.* e:\*.* /D

Bisakah ini dilakukan dengan xcopy atau Robocopy?

PaulStock
sumber

Jawaban:

23

Ini mungkin akan memberi Anda apa yang Anda inginkan:

Robocopy c:\ e:\ *.* /MAXAGE:20130301 /XO /E

Tambahkan /Lperintah ini untuk melihat apa yang akan dilakukan tanpa benar-benar melakukannya terlebih dahulu hanya untuk memastikan.

Periksa di sini untuk informasi lebih lanjut tentang opsi Robocopy.

Rabbid10
sumber
2

Cukup gunakan kedua opsi dalam perintah yang sama:

xcopy c:\*.* e:\*.* /D /D:03-01-2013

memberi Anda apa yang Anda inginkan.

Malcolm
sumber
Bagaimana Anda melakukannya jika Anda ingin file tersebut berumur minimal 1 jam? Dengan kata lain, usia relatif dari sekarang, bukan usia absolut?
toddmo
@toddmo Sepertinya xcopy dan Robocopy hanya dapat memfilter menurut tanggal, bukan waktu. Anda harus menggunakan beberapa utilitas lain, atau sesuatu seperti loop FOR dengan perintah DIR / O: D.
Malcolm
RoboCopy dapat menggunakan minage dan maxage , tetapi hanya pada level hari, bukan jam. Anda juga dapat membaca di sini untuk beberapa alat lain dan skrip batch yang akan menyalin file yang berumur 1 jam .
Matahari