65.9K
CodeProject 正在变化。 阅读更多。
Home

将 Windiff 集成到 Explorer 中

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (1投票)

2008 年 1 月 14 日

CPOL

2分钟阅读

viewsIcon

30565

downloadIcon

245

将 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\Driveclasses\Directory。这可以在计算机上的所有用户下在 HKEY_LOCAL_MACHINE\Software\Classes 或仅对当前用户在 HKEY_CURRENT_USER\Software\Classes 下完成。下载中包含两个相应的 reg 文件。或者,您可以使用组策略模板 WinDiff.adm 将这些设置部署到所有所需用户。现在,您可以右键单击 Windows 资源管理器中的第一个文件或目录,然后选择 Windiff。之后,您可以右键单击 Windows 资源管理器中的第二个文件或目录,然后选择 Windiff,Windiff 将使用这两个参数打开。如果您选择多个文件并单击 Windiff,则行为是不确定的。

类似项目

历史

  • 2008 年 1 月 14 日:首次发布。
© . All rights reserved.