Gabungkan direktori tanpa menimpa konflik

2

Saya memiliki 2 struktur direktori (A dan B) yang biasanya tidak tumpang tindih. Saya ingin menggabungkan A menjadi B.

Perintah berikut akan menggabungkan direktori:

xcopy A B /E /Y

Namun, saya ingin dapat mendeteksi konflik antara 2 direktori saya, dan jangan menimpa jika file sudah di tujuan (dalam B). Xcopy akan secara otomatis menimpa file. Saya tidak ingin diminta untuk setiap konflik (/ y). Saya ingin xcopy untuk mengembalikan kesalahan pada konflik.

Opsi / D juga tidak berfungsi, karena saya tidak peduli dengan tanggalnya.

Saya kira ini tidak mungkin dengan xcopy. Apakah ada solusi lain untuk itu?

decasteljau
sumber

Jawaban:

6

Anda bisa menggunakan perintah ROBOCOPY untuk memindahkan semua file yang tidak bertabrakan dengan file yang ada di tujuan. Saya telah menambahkan /Lopsi yang mencantumkan hasilnya, tanpa benar-benar melakukan apa pun. Jika itu berfungsi seperti yang diinginkan, maka cukup hapus /Lopsi untuk benar-benar memindahkan file.

robocopy sourcePath destinationPath /mov /xc /xn /xo /xx /L

Perintah ROBOCOPY menghasilkan log yang bagus dari semua tindakan yang dilakukan. Menggunakan perintah di atas, Anda dapat mendeteksi kapan file di mana tidak dipindahkan karena tabrakan dengan melihat Files :...baris dalam ringkasan. Jika jumlah yang disalin kurang dari total, maka di situlah tumbukan.

Perintah ROBOCOPY memiliki banyak opsi yang membuatnya sangat kuat. Ketik HELP ROBOCOPYatau ROBOCOPY HELPdari prompt perintah untuk info lebih lanjut.

dbenham
sumber
0

Buat file mis. Dummy.txt isikan dengan banyak baris berisi Nseperti ini

N
N
N
N
N

Panggilan XCOPY A B /E /-Y <dummy.txt >output.txt

setiap baris dalam file keluaran yang berisi pertanyaan adalah file yang konflik yang tidak ditimpa.

bummi
sumber
Jawaban cerdas. Saya suka mengotomatisasi hal-hal seperti ini, tetapi berhati-hatilah dengan lokal: N[o] tidak berlaku di mana-mana, jadi ini hanya boleh digunakan ketika bahasa aktif dikenal sebagai apriori . 😉
Helder Magalhães