Di Linux, kita cukup melakukan:
cp -pr directory
Bagaimana cara melakukannya di Windows? Bisakah itu dilakukan di Windows Explorer? Adakah saran alat GUI?
Ini akan menjadi yang terbaik jika saya dapat menjaga izin NTFS dan waktu pembuatan / modifikasi / akses. Minimal, saya perlu mempertahankan tanggal modifikasi untuk file dan direktori. Salinan Windows Explorer tidak mempertahankan tanggal modifikasi untuk direktori.
windows
file-management
netvope
sumber
sumber
robocopy c:\folderA c:\folderB /mir /it
itu yang kamu butuhkan. Perhatikan bahwa ini akan sepenuhnya menghapus c: \ folderB dan membuat c: \ folderB baru yang mencerminkan c: \ folderA.Jawaban:
Tidak ada cara sederhana untuk melakukan ini di Windows. Ada beberapa program yang mengklaim dapat mempertahankan tanggal pembuatan file.
Berikut adalah beberapa program yang dapat melakukan trik http://forum.soft32.com/windows/preserve-creation-date-Copy-ftopict361820.html (Rusak tautan; bukan di Wayback Machine).
Menggunakan Windows Explorer saja tidak mungkin. Jika Anda melihat dokumentasi untuk CopyFile, fungsi CopyFile (winbase.h) , Anda akan melihat bahwa itu menghindari subjek. Tetapi fungsi CopyFile (Windows Developer Preview) (arsip 2012 dari URL yang sama) mengatakan:
sumber
RoboCopy dapat menjaga mtime untuk direktori dengan / DCOPY: T switch, tetapi ini hanya berfungsi di Vista dan yang lebih baru. Itu juga dapat melestarikan ACL. Atau, FastCopy dapat dikonfigurasi untuk mempertahankan mtimes direktori, ACL, dan ADSes .
sumber
/mir
?/mir
menghapus data dari folder tujuan, Anda masih memerlukannya/dcopy:t
untuk menyimpan mtimes direktori dan/copyall
menyimpan lebih dari sekadar cap waktu file.... atau Anda bisa membuat arsip zip (dengan metode kompresi diatur ke hanya "Store"), dan kemudian membongkar file di mana Anda ingin menyalinnya. Atribut tanggal / waktu sama dengan file asli.
sumber
Alat baris perintah Robocopy (dilengkapi dengan sebagian besar versi windows)
Di mesin windows 10 saya terletak di
C:\Windows\System32
Dari Wikipedia , ini dapat digunakan dengan serangkaian opsi berikut untuk menjaga stempel waktu file dan direktori, serta atribut lainnya:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
melestarikan Stempel Waktu Direktori asli (memerlukan versi XP026 atau yang lebih baru)/E
: Salin direktori secara rekursif, termasuk Direktori Kosong/R:0
: jangan coba lagi file yang terkunci (jumlah percobaan ulang pada salinan gagal nilai default adalah 1 juta),/COPYALL
: Salin semua informasi file,(setara dengan
/COPY:DATSOU
, di manaD
= Data,A
= Atribut,T
= Stempel Waktu File ,S
= Keamanan = NTFS ACL,O
= Info pemilik,U
= Info audit),Jika Anda hanya ingin mempertahankan stempel waktu tanggal dan direktori, tetapi tidak ingin subdirektori kosong disalin dan tidak ingin atribut lain dipertahankan, Anda dapat menggunakan:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
di mana
/S
salinan subdirektori tidak kosongUntuk melihat sintaks lengkap, ketik
robocopy /?
command prompt, atau lihat posting blog ini: https://ss64.com/nt/robocopy.html dan https://techjourney.net/robocopy-syntax-command-line -switch-dan-contoh /Contoh perintah yang baru-baru ini saya jalankan:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Perhatikan bagaimana mengecualikan 2 subdirektori mengharuskan
/XD
bendera digunakan dua kali. Juga, pengecualian direktori kedua menggunakan tanda kutip karena ada spasi dalam nama direktori.Akhirnya, Anda dapat menambahkan
/L
bendera untuk menguji perintah sebelum melakukannya secara nyata. Dengan cara ini Anda dapat memverifikasi itu tidak akan menyalin (atau menghapus) direktori / file yang tidak Anda inginkan, dan bahwa tidak ada kesalahan dalam perintah Anda.Sunting: gotcha ketika menyalin dari Direktori Root (alias drive) ke Folder (direktori non-root)
Setelah menjalankan contoh perintah di atas, direktori tidak terlihat! (Meskipun
show hidden files
danshow system files
sudah diperiksa di Windows 10!) Perintah berikut sesuai https://serverfault.com/a/455029/399723 memperbaiki ini:Sebagai alternatif, menambahkan
/A-:SH
"hapus Atribut Tersembunyi dari file Sistem", dengan demikian dapat mencegah direktori menjadi tersembunyi di tempat pertama, seperti https://serverfault.com/a/565804/399723 . Lihat juga https://ss64.com/nt/robocopy.html . Diskusiini memberi lebih banyak cahaya pada opsi ini sebagai solusi.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Perangkat Lunak Lainnya:
Atau, Anda dapat mengunduh robocopy versi GUI jika Anda tidak ingin menggunakan baris perintah.
Utilitas windows lainnya adalah XCopy , meskipun sudah termasuk dalam windows 10, ia sudah usang. Lihat tautan untuk mendapatkan gotcha.
Halaman Wikipedia untuk RoboCopy (ditautkan di atas posting ini) mencantumkan perangkat lunak lain yang dapat digunakan.
sumber
Sinkronkan! 3.5 menjaga semua cap waktu (file dan folder, modifikasi dan pembuatan). Ini satu-satunya perangkat lunak yang saya tahu pada Windows XP yang melakukan itu dengan sempurna, di samping Robocopy, dan saya sudah mencoba banyak. Namun berhati-hatilah, ini dapat menghasilkan file yang rusak dengan file sumber yang diunduh menggunakan perangkat lunak seperti FlashGet atau Orbit Downloader (file yang dihasilkan memiliki ukuran yang sama tetapi hanya 25kB yang benar-benar disalin - sisanya diisi dengan angka nol). Saya bertanya kepada pencipta perangkat lunak apakah dia dapat menemukan alasannya, tetapi dia tidak tahu; Saya kira itu ada hubungannya dengan perangkat lunak seperti mengunduh file dalam paket kecil (dimaksudkan untuk mengoptimalkan kecepatan) dan partisi data saya menjadi sangat terfragmentasi.
Robocopy XP026 memang termasuk dalam Windows Vista, tetapi berfungsi pada Windows XP. Cari "Robocopy XP026", atau saya dapat mengirim file di sini karena tidak mudah ditemukan. Atau Anda dapat menginstal Robocopy GUI dan kemudian mencari
robocopy.exe
file di folder System32, sehingga dapat menggunakannya dari baris perintah. File yang saya miliki adalah 208kB dan nomor versi 5.1.2600.26.Tampaknya ada bug dengan "mode cadangan", meskipun:
Robocopy versi XP027 tampaknya tidak lagi memiliki bug ini tetapi tidak berfungsi pada Windows XP.
sumber
RoboCopy harus dapat melakukannya dengan sakelar COPYALL. Anda dapat mengambil versi GUI dari Microsoft Technet .
sumber
FastCopy dapat melakukan ini dan gratis.
sumber
Saya tidak yakin saklar mana yang mempertahankan tanggal file tetapi ini berfungsi. Lalu saya zip direktori C: \ temp \ Pics yang juga memelihara tanggal file seperti yang disebutkan sebelumnya.
sumber
Cara paling sederhana bagi saya, sejauh ini, adalah metode "kirim ke". Tidak perlu aplikasi eksternal. Dalam pengalaman saya, itu mempertahankan semua atribut file asli.
Metode yang saya gunakan sebelumnya, adalah metode kompresi / folder zip. Meskipun ini tentu memakan waktu lebih lama karena file tidak hanya disalin, tetapi diproses dan dikompresi, baik saat mengompresi dan dekompresi.
%appdata%\Microsoft\Windows\SendTo
atau.
C:\Users\_______\AppData\Roaming\Microsoft\Windows\SendTo
Tambahkan pintasan ke folder tempat Anda ingin disalin, dan item itu akan muncul di
sendto
menu Anda ketika Anda mengklik kanan file yang ingin Anda salin.sumber
xcopy Source Destination /kes
. (k
Bendera memungkinkan untuk mempertahankan cap waktu modifikasi, tetapi tanggal pembuatan tidak dipertahankan). Metode kompresi untuk zip (atau rar) adalah metode yang baik, tetapi seringkali terlalu lama.Sangat mudah untuk memindahkan folder dan direktori dan tetap mempertahankan Tanggal Pembuatan. Cukup tahan Shiftdan seret folder ke lokasi baru (perintah pindah). Tanggal Dimodifikasi akan menjadi tanggal sekarang tetapi Tanggal Dibuat akan mempertahankan tanggal asli.
sumber
Cara mudah untuk memindahkan folder dan mempertahankan Tanggal & Waktu Pembuatan, gunakan utilitas ini
http://lantechsoft.com/data-copy.html
Satu lagi di mana ia dapat menyimpan tanggal saat menyalin file.
http://technocomsolutions.com/data-copy-tool.html
sumber
xcopy berfungsi dengan baik untuk ini. Cukup tentukan flag / k untuk menyalin atribut.
Sumber
xcopy Sintaks [Tujuan] [Parameter opsional]
Perintah xcopy dapat menyalin satu atau lebih file atau pohon direktori dari satu lokasi ke lokasi lain. Perintah xcopy termasuk dalam semua versi Windows dari Windows 95 ke Windows 8.
sumber
/K
parameter dan tidak mempertahankan tanggal pembuatan.Saya mencapai ini dengan
rsync -avu --modify-window = 3602 source_directory / target_directory /
(ini benar-benar digunakan sebagai alat sinkronisasi dari satu direktori ke mirror lain dan pilihan timewindow adalah untuk mencegah masalah ketika sistem windows memindahkan jam 1 jam untuk penghematan siang hari dll. dibandingkan dengan sistem linux)
di lingkungan cygwin di dalam windows atau mesin virtual linux di dalam windows dengan drive windows terpasang (misalnya dengan virtualbox)
NB cygwin dan virtualbox keduanya gratis dan memungkinkan Anda untuk memiliki tingkat fungsi linux yang lebih rendah atau lebih besar pada windows - mereka berdua memerlukan sedikit pengaturan - terutama virtualbox, tetapi memiliki banyak manfaat ....
Masalah saya sendiri adalah file memiliki waktu yang tepat tetapi direktori tidak. rsync telah mengurutkan tanggal pada direktori serta tanggal pada file.
sumber
Perintah ini menyalin stempel waktu yang sama untuk file. Catatan itu tidak melakukan stamping waktu yang persis sama untuk folder itu sendiri. Juga perhatikan bahwa saya menempatkan tanda kutip di sekitar sumber (Temp1) dan tujuan (Temp2). Ini dilakukan jika ada ruang di jalur. Saya tidak punya spasi tapi saya pikir saya harus memasukkannya untuk skenario terburuk.
Untuk menjaga cap waktu yang sama untuk folder juga:
robocopy / E / copy: DAT / dcopy: DAT "C: \ Temp1" "c: \ Temp2"
sumber