Windows Explorer - Diff hai tập tin từ menu ngữ cảnh?


Câu trả lời:


16

Âm thanh như bạn cần diff-ext !

Phần mở rộng shell này (diff-ext) cho phép khởi chạy công cụ so sánh tệp cho 2 hoặc 3 tệp (tùy thuộc vào công cụ) trong cùng thư mục hoặc "lưu" một tệp để so sánh sau. Nó hoạt động như danh sách tệp được sử dụng gần đây nhất (MRU) cho công cụ so sánh.

Tôi đang sử dụng nó với KDiff3 , nhưng có một số công cụ khác trên trang có thể được sử dụng.

văn bản thay thế


Bạn được chào đón nhiều hơn!
John T

Không hoạt động tốt trên windows 7. Tôi đã cấu hình nó với đường dẫn đến diff.exe và tất cả những gì tôi nhận được là một cái gì đó nhấp nháy trước mắt. Là ứng dụng này nhận thức khác nhau ở tất cả?
Anders Lindén

Hoạt động tốt trên Win7 nhưng tôi đang sử dụng Meld làm công cụ tìm khác biệt.
JimFred

KDiff3 đã có tiện ích mở rộng trình đơn ngữ cảnh được tích hợp ngay bây giờ ( Kdiff3=> Compare), vì vậy nếu bạn chỉ cần một cái gì đó nhanh chóng & dễ dàng, điều đó có thể là đủ.
121391

Tôi có thể phải thực hiện việc này, nhưng tôi chỉ sử dụng gvim, vì vậy không chắc điều đó sẽ diễn ra tốt như thế nào
Antony

8

Đây là giải pháp của tôi để thêm một mục menu ngữ cảnh Nhấp chuột phải để chạy lệnh tùy chỉnh (như gọi Meld) và tìm hai tệp khác nhau.

Bối cảnh Các mục menu ngữ cảnh đơn giản có thể dễ dàng được thêm vào trong thanh ghi Windows (regedit): thủ công hoặc bằng cách tạo tệp .reg (xem ví dụ bên dưới).

Vấn đề là lệnh sẽ được chạy cho mỗi tệp bạn chọn. Có ba giải pháp để giải quyết điều này:

  1. Sử dụng tiện ích mở rộng Shell (phức tạp)
  2. Đảm bảo ứng dụng của bạn bắt được các cuộc gọi khác nhau (phức tạp)
  3. Sử dụng singleinstance.exetừ bối cảnh-menu-xử lý (đơn giản). Chương trình này không có tùy chọn 2 cho bạn. Nó thu thập các đối số từ thời điểm khác nhau được gọi và sau đó chuyển chúng cho lệnh bạn muốn. Một tùy chọn hết thời gian có sẵn để giúp thu thập các cuộc gọi được thu thập. Theo liên kết để biết thêm.

Bước 1 Tải xuống singleinstance.exe từ trình xử lý trình đơn ngữ cảnh (và cảm ơn tác giả, người mà tôi không liên quan)

Bước 2 (để so sánh tệp và thư mục) : Tạo tệp có phần mở rộng ".reg" với nội dung sau (ví dụ cho Meld with a Icon):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
@="Diff it!"
"Icon"="C:\\Config\\look\\Icons\\Meld.ico"

[HKEY_CLASSES_ROOT\*\shell\DiffIt_Files\command]
@="\"c:\\Bin\\singleinstance.exe\" \"%1\" \"C:\\Program Files (x86)\\Meld\\Meld.exe\" $files --si-timeout 400"

[HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders] 
@="Diff It!" 
"Icon"="C:\\Config\\look\\Icons\\Meld.ico"

[HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders\command]    
@="\"c:\\Bin\\singleinstance.exe\" \"%1\" \"C:\\Program Files (x86)\\Meld\\Meld.exe\" $files --si-timeout 400"

Tệp reg tạo một mục trình đơn ngữ cảnh có nhãn "Diff It!" cho tất cả các tệp ( *) và cho Thư mục ( Folder). Các dòng chứa Iconcó thể được loại bỏ nếu bạn không muốn một biểu tượng.

Điều chỉnh đường dẫn của chương trình singleinstance.exevà lệnh chạy (ở đây C:\Program Files (x86)\Meld\Meld.exe. Lưu ý thoát khỏi các không gian phía sau và dấu ngoặc kép

Bước 3 Chạy .regtệp. Nhấp đúp chuột vào nó có thể hoạt động nếu bạn là quản trị viên. Nếu không, hãy mở một dấu nhắc lệnh quản trị viên trong thư mục của bạn (trong trình thám hiểm: Tệp> Lệnh mở> Lệnh mở với tư cách quản trị viên. Alt-F-M-A). Chỉ cần gõ tên của .regtệp để thêm nó vào sổ đăng ký.

Đó là nó.

(gỡ cài đặt) Bạn có thể xóa các khóa theo cách thủ công trong sổ đăng ký hoặc tạo một .regtệp có nội dung sau:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]

[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders] 

Thay thế Sử dụng một phần mềm để thêm-chỉnh sửa-xóa các mục menu ngữ cảnh như ContextEdit (nhưng không thể thêm biểu tượng một cách dễ dàng). Trong trường hợp này, bạn không cần phải thoát dấu gạch chéo và dấu ngoặc kép để lệnh sẽ trông như thế này:

"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400

Làm việc cho tôi ...
AnthonyVO

1
Nhìn chung, tôi thích thực hiện này. Tuy nhiên, thật đáng buồn, nó tạo ra một phiên bản mới của Meld mỗi khi menu ngữ cảnh được sử dụng. Bất kỳ lời khuyên để có được nó để sử dụng các ví dụ hiện có? Tôi cho rằng đó là ý định của singleinstance.exe. Có lẽ nó không tương thích với Windows 10.
Jim Fell

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.