将 Windiff 集成到 Explorer 中
将 Windiff 集成到 Windows 资源管理器的上下文菜单中。
引言
我们中的许多人使用 Windiff 或类似的工具。但 Windiff 没有强大的用户界面来选择文件和目录。因此,我将 Windiff 集成到 Windows 资源管理器的上下文菜单中,并编写了一个命令脚本来处理选择。
安装 Windiff
Windiff 通常随 Visual Studio 自动安装,通常位于 %ProgramFiles%\Microsoft Visual Studio\COMMON\Tools 或 %ProgramFiles%\Microsoft Visual Studio 8\Common7\Tools\Bin。您也可以从 Windows XP 或 Windows 2003 CS 中复制它。导航到 CD:\Support\Tools\SUPPORT.CAB,并将 windiff.* 和 gutils.dll 复制到硬盘上您喜欢的任何位置。
桩脚本
桩脚本 windiff.cmd 处理文件或目录的两个参数。此脚本应放置在可以通过路径变量找到的位置。例如,%SystemRoot%。当使用两个参数调用 windiff.cmd 时,它会检查是否存在文件或目录,并为任何文件夹追加尾随 \。之后,它会将两个参数都传递给 windiff.exe。
因此,您可以直接从命令 shell 调用 windiff.cmd。示例
- Windiff.cmd file1 file2
- Windiff.cmd drive1 drive2
- Windiff.cmd folder1 folder2
- Windiff.cmd folder1\*.cpp folder2\*.cpp
最后一个示例将 Windiff 限制为仅比较 *.cpp 文件。
当仅使用一个参数调用 windiff.cmd 时,它会检查这是第一个参数还是第二个参数。第一个参数保存到 %TEMP%\Windiff.arg。当 %TEMP%\Windiff.arg 存在时,它是第二个参数,现在可以将两个参数都传递给 windiff.exe,并且脚本会删除 %TEMP%\Windiff.arg。
在脚本中,您必须调整行 SET WINDIFF_TOOL="%ProgramFiles%\Reskit\windiff.exe" 以反映 windiff.exe 的正确位置。
扩展资源管理器上下文菜单
您可以将自己的命令和工具添加到 Windows 资源管理器上下文菜单。官方文档是“扩展快捷菜单”:http://msdn2.microsoft.com/en-us/library/bb776820(VS.85).aspx。我将 Windiff 命令添加到 classes \*、classes\Drive 和 classes\Directory。这可以在计算机上的所有用户下在 HKEY_LOCAL_MACHINE\Software\Classes 或仅对当前用户在 HKEY_CURRENT_USER\Software\Classes 下完成。下载中包含两个相应的 reg 文件。或者,您可以使用组策略模板 WinDiff.adm 将这些设置部署到所有所需用户。现在,您可以右键单击 Windows 资源管理器中的第一个文件或目录,然后选择 Windiff。之后,您可以右键单击 Windows 资源管理器中的第二个文件或目录,然后选择 Windiff,Windiff 将使用这两个参数打开。如果您选择多个文件并单击 Windiff,则行为是不确定的。
类似项目
- https://codeproject.org.cn/KB/applications/wdcmx.aspx
- https://codeproject.org.cn/KB/applications/runwindiff.aspx
历史
- 2008 年 1 月 14 日:首次发布。