Saya tahu ada posting yang mirip dengan ini: di sini .
Saya mencoba menggunakan comp
perintah seperti yang disebutkan, tetapi jika saya memiliki dua file, satu dengan data seperti "abcd" dan yang lainnya dengan data "abcde", ia hanya mengatakan file-file tersebut memiliki ukuran yang berbeda. Saya ingin tahu di mana tepatnya mereka berbeda. Di Unix, diff sederhana memberi tahu saya baris dan kolom mana, perintah comp di windows berfungsi jika saya memiliki sesuatu seperti "abd" dan "abc". Tidak sebaliknya. Adakah ide yang bisa saya gunakan untuk ini?
284
FC path1\* FC path2\*
akan membandingkan semua file dalam folderpath1
danpath2
, asalkan mereka (file) memiliki nama yang identik. Jika ada file dengan nama yang tidak cocok, FC akan melaporkan file yang hilang, tetapi hanya untuk file folder pertama yang muncul dapat ditemukan di folder kedua dan bukan sebaliknya. Untuk menangkap semua ketidakcocokan, teknik yang berbeda mungkin akan diperlukanfiles in both directories are diff'd; files in only one directory throw errors.
" Menarik. Tapi tentunya ada program pihak ke-3 yang setara dengan diff?Nah, di Windows saya dengan senang hati menjalankan
diff
dan banyak alat GNU lainnya. Anda dapat melakukannya dengan cygwin , tetapi saya pribadi lebih suka GnuWin32 karena ini adalah pengalaman instalasi yang jauh lebih ringan.Jadi, jawaban saya adalah setara dengan Windows
diff
, tidak lain adalahdiff
dirinya sendiri!sumber
diffutils
. Lihat cygwin.com/cgi-bin2/...Winmerge memiliki utilitas baris perintah yang mungkin perlu dicoba.
Juga, Anda dapat menggunakan bagian grafis juga tergantung pada apa yang Anda butuhkan.
sumber
Alternatif lain adalah mengunduh dan menginstal git dari sini . Kemudian, tambahkan path ke variabel
Git\bin\
AndaPATH
. Ini akan memberi Anda tidak hanya diff, tetapi juga banyak perintah linux lain yang dapat Anda gunakan dari baris perintah windows.Anda dapat mengatur
PATH
variabel dengan mengklik kanan pada Komputer dan memilih Properti. Kemudian Anda dapat mengklik Pengaturan Sistem Tingkat Lanjut di sisi kiri layar. Dalam pop up, klik Variabel Lingkungan lalu tambahkan atau perbarui variabel PATH dalam variabel pengguna AndaGit\bin\
Dokumentasi beda git
sumber
git...
file executable yang tersedia dari PATH. Selain itu, jawabannya mungkin harus mencakup satu informasi penting: bahwa Anda perlu meluncurkan alat diff dengan menulisgit diff
, bukan hanyadiff
.diff
FC bekerja dengan baik dalam kasus saya itu tidak membantu karena saya hanya ingin baris yang diubah. Dan FC memberikan data tambahan seperti nama file, baris yang sama dan perbandingan bilateral.
tetapi dalam kasus saya, saya hanya menginginkan baris yang telah berubah dan ingin baris tersebut diekspor ke file yang berbeda, tanpa header atau data lain.
Jadi saya menggunakan "findstr" untuk membandingkan file:
dimana:
data.txt.bak
adalah nama file lamadata.txt
adalah nama file baruDiffResult.txt
berisi data yang diubah yaitu hanya satu baris #### 09sumber
fc. fc lebih baik dalam menangani file besar (> 4 GBytes) daripada diff Cygwin.
sumber
Ada juga Powershell (yang merupakan bagian dari Windows). Ini tidak cepat tetapi fleksibel, inilah perintah dasarnya. Orang-orang telah menulis berbagai cmdlet dan skrip untuk itu jika Anda perlu memformat lebih baik.
Bukan bagian dari Windows, tetapi jika Anda adalah seorang pengembang dengan Visual Studio, ia datang dengan WinDiff (grafis)
Tapi favorit pribadi saya adalah BeyondCompare, yang harganya $ 30.
sumber
DiffUtils mungkin merupakan taruhan terbaik Anda. Ini setara dengan Windows untuk diff.
Setahu saya tidak ada built-in setara.
sumber
Alasan Anda mendapatkan kesalahan dengan COMP adalah bahwa utilitas menganggap file yang Anda bandingkan berukuran sama. Untuk mengatasinya Anda dapat menggunakan
'/n'
opsi th yang Anda dapat menentukan jumlah baris yang ingin Anda bandingkan. (lihat opsi yang didukung oleh comp dengan mengetik'comp /?'
pada baris perintah. sehingga perintah Anda akan terlihat seperti:Ini akan menyelesaikan masalah Anda jika Anda ingin tetap menggunakan COMP. Tapi ini akan menjadi masalah untuk file yang sangat besar.
Padahal
comp
itu pilihan, tapi saya rasa itu primitif danFC
pilihan yang lebih baik. Anda dapat menggunakanFORFILES
danFC
bersama - sama untuk membuat utilitas filecompare yang benar-benar bagus jika Anda membutuhkannya secara rutin.FC digunakan seperti ini untuk ref:
ada banyak opsi yang tersedia yang dapat Anda lihat dengan
'fc /?'
harapan ini bisa membantusumber
Saya telah menemukan perangkat lunak grafis ringan untuk windows yang tampaknya berguna karena kurangnya
diff
perintah. Itu bisa menyelesaikan semua masalah saya.WinDiff http://www.grigsoft.com/download-windiff.htm
sumber
Jendela yang setara dengan perintah diff adalah perintah fc (File Comapre).
Berikut adalah langkah-langkah dasar untuk melakukannya:
1. Simpan dua file dalam folder (Contoh file1.html dan file2.html)
2. Luncurkan command prompt
3. Ketik fc file1Lokasi file2Lokasi
Telah menemukan tutorial terperinci tentang hal yang sama:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
sumber
Saya tidak tahu apakah alat berikut ini adalah yang Anda butuhkan. Tapi saya suka menggunakan, untuk file tertentu, beberapa alat online. Dengan cara ini saya dapat menggunakannya terlepas dari sistem operasional. Berikut ini contohnya: diffchecker.com
Tetapi untuk kebutuhan saya, saya kira alat terbaik untuk melacak perubahan dan log dari file proyek saya adalah GIT. Jika Anda bekerja dalam tim, Anda dapat memiliki beberapa repo online di server Anda, atau menggunakannya dengan Bitbucket atau Github.
Semoga ini bisa membantu seseorang.
sumber
Jika Anda telah menginstal git pada mesin Anda, Anda dapat membuka terminal git dan cukup menggunakan
diff
perintah Linux seperti biasa.sumber