Apa yang dilakukan “mempersiapkan salinan”?

24

Saat menyalin sejumlah besar file dalam satu sapuan, windows memerlukan waktu untuk menyiapkan salinannya ? Hal yang sama terjadi ketika menghapus sejumlah besar file. Apa yang terjadi disini? Persiapan apa yang sedang terjadi di sana?

Björn Pollex
sumber
1
Saya hanya dapat berspekulasi bahwa itu sedang memindai file untuk masalah seperti dikunci oleh proses lain, izin dll.
ChrisF

Jawaban:

8

"Bersiap untuk menyalin" adalah fitur khusus yang memungkinkan untuk menunda seluruh proses dengan jumlah waktu yang tidak masuk akal dan memberi Anda lebih banyak waktu untuk menghargai kotak dialog mewah yang dibuat oleh perancang Microsoft.

Sementara windows sedang "bersiap-siap untuk menyalin" tidak

  • Periksa kemungkinan file yang terkunci (hanya akan terungkap selama proses penyalinan yang sebenarnya, untuk alasan yang jelas)
  • Buat perubahan apa pun pada sistem file Anda (perhatikan juga bahwa filesystem sebenarnya bukan faktornya di sini, perilaku sama untuk NTFS / FAT32)

Apa yang dilakukannya adalah membuat daftar lengkap file dan melakukan beberapa perhitungan angka ajaib untuk membuat asumsi yang salah tentang perkiraan waktu salin.

Seni Gertner
sumber
2
Dan lucunya ketika menyalin dari jaringan berbagi "persiapan" ini membutuhkan lebih banyak waktu ketika salinan itu sendiri!
Calmarius
7

Itu membangun daftar semua file dalam folder saat ini dan subfoldernya dan mencatat perubahan yang akan dibuat ke file dalam jurnal. Itu perlu karena cara NTFS bekerja.

Beberapa kasus penggunaan daftar itu termasuk:

  • memperbarui sistem file
  • menjaga konsistensi file jika terjadi kegagalan
  • mengetahui jumlah file sehingga Anda dapat menghitung berapa banyak waktu yang tersisa untuk menyelesaikan operasi, berapa persen dari operasi telah selesai sejauh ini dan menggambar bilah progres yang sesuai.
  • menyediakan pengguna untuk mencoba ulang atau membatalkan operasi (apakah itu menyalin, memindahkan, menghapus) ketika gagal pada beberapa file.

Jika itu mengganggu Anda selalu dapat menggunakan xcopy atau robocopy melalui command prompt untuk sejumlah besar operasi file.

Gani Simsek
sumber
17
Jika perlu karena cara NTFS bekerja , lalu mengapa bisa xcopymelakukan pekerjaan itu tanpa itu?
Björn Pollex
5
"mempersiapkan salinan" terjadi setelah daftar dibuat dan terutama digunakan untuk menghitung persentase, waktu yang tersisa, menggambar bilah kemajuan dengan gambar mewah dll. xcopy tidak repot dengan semua itu.
Gani Simsek
6
Lalu mengapa Anda mengatakan bahwa "perlu karena cara NTFS bekerja"? Saya hanya dapat berspekulasi tentang apa yang Windows lakukan ketika sedang "mempersiapkan", tetapi ingat bahwa itu tidak pernah dilakukan di Windows XP, dan utilitas pihak ketiga (misalnya TeraCopy) juga memiliki penundaan hampir instan antara memulai transfer file.
Terobosan
2
Sepertinya saya tidak mengekspresikan diri saya dengan jelas. Daftar ini diperlukan untuk operasi file, yang umum dalam kedua kasus (yaitu cmd dan gui) dan tidak memakan banyak waktu. Namun, alasan Anda melihat bahwa jendela "bersiap untuk menyalin" adalah karena grafik, persentase dan perhitungan waktu yang terlibat, terutama dalam tema Aero dan itulah salah satu kasus di mana daftar itu digunakan, yang saya pikir adalah jawaban untuk pertanyaan . Karena tidak ada gui di xcopy atau robocopy, tidak ada persiapan untuk menyalin perhitungan. Juga, APAKAH di XP juga, i.imgur.com/UOiRy.png
Gani Simsek
7
Ini tidak benar - Anda akan mendapatkan pesan yang sama di FAT32. Ini bukan masalah dengan sistem file, ini masalah dengan FindFirstFile / FindNextFile API. Explorer (yang bertanggung jawab untuk dialog salin file) menggunakan API yang sama dengan Anda, programmer untuk menampilkan hal-hal ini, dan Windows API tidak memaparkan apa pun tentang mempertahankan tabel alokasi misalnya (Terutama, karena NTFS tidak menggunakan tabel alokasi - itu dari tanah FAT).
Billy ONeal
1

Seperti yang dijawab oleh Raymond Chen dalam salah satu balasan ke pos dialog kemajuan penyalinan File aslinya ( http://blogs.msdn.com/b/oldnewthing/archive/2004/01/06/47937.aspx#47964 ), salah satu dari hal yang dilakukannya adalah mendapatkan filesize untuk seluruh operasi penyalinan untuk membuat perkiraan yang lebih baik tentang waktu yang akan diambil.

RD
sumber
1
Anda harus mencari di komentar untuk menemukan di mana dia membicarakannya. Sepertinya blog mengubah tautan pengenal komentarnya; inilah salah satu yang sedikit lebih langsung: blogs.msdn.microsoft.com/oldnewthing/20040106-00/...
Binki
0

Saya percaya fitur mewah ini adalah untuk menghitung persentase progress bar ketika setiap file disalin, sehingga Anda dapat menghargai progress bar yang indah.

Ahmed
sumber
-1

Setahu saya Windows memeriksa apakah bisa melakukan semua yang Anda minta SEMUA file. Ini berarti bahwa mis. File yang dikunci ditemukan di depan alih-alih setengah jalan menyebabkan hasil yang tidak lengkap.

Thorbjørn Ravn Andersen
sumber
2
Salah. Itu tidak memeriksa file yang terkunci dan sangat sering gagal di tengah proses penyalinan yang sebenarnya.
Seni Gertner