Opening files and folders


WinMerge provides several ways to specify paths and open files or folders:

1. Select Files or Folders dialog

Quick start describes the Select Files or Folders dialog. This section provides more details, and some tips for using the Select Files or Folders dialog more efficiently.

1.1. Using environment variables

You can use environment variables in your paths. Windows expands the variable name between % (percent) delimiters. For example, if an environment variable named WORKDIR has the value c:\workfiles, then the path %WORKDIR%\project1 is expanded to c:\workfiles\project1 .

1.2. Opening archive files

WinMerge archive support is provided in the 7-Zip plugin. See Getting and installing WinMerge to install this plugin.

Opening two archive files is similar to opening normal files: specify two archive files in the Open-dialog's Left and Right fields. If WinMerge recognizes the archive format, it opens the contents of the archive files in the Folder Compare window.

The Comparing and merging folders topic describes how to work with archive files. For example, if an archive file contains two subfolders named Original/ and Altered/, you can compare the contents of the two subfolders by specifying the same archive file in both sides in the Select Files or Folders dialog or WinMerge command line.

[Tip] Tip

When you drag an archive file to the WinMerge window, press Shift when dropping the file: WinMerge automatically copies the same filename to both sides and opens the archive file.

1.3. Applying filters

The Filter edit field enables you to restrict the files to be included in your folder compare. You can specify one or more file masks, or a single file filter (not both).

A mask is a simple expression based on file extensions. For example, this list of file masks includes only files with the specified extensions; all others are excluded from the selection when the compare operation starts:

*.h;*.cpp *.txt,*.ini

File masks are practical for simple filtering; for more advanced selecting, use filter files. Filter files are collections of regular expressions that can either include or exclude files. WinMerge installs a number of predefined filter files in its Filters folder, and you can create your own, too.

To specify a filter, click the Select button next to the Filters field to choose from a list of available filters. Or, click the Filter drop-down list and choose a recently-used filter file.

For full information about filter masks and filter files, see Using Filters.

1.4. Selecting an unpacker for file comparisons

Unpackers are plugins that are installed with WinMerge to provide functionality that is not used by default. Plugins that can be used to preprocess certain types of files before comparing them. For example, WinMerge cannot normally compare MS Word doc files, but by unpacking them, you can compare just the text contents. See Plugins for details.

To apply a plugin to your file comparison, click the Select button for the Unpacker option. In the Select Unpacker dialog:

  1. Configure automatic plugin selection or choose a plugin manually:

    • To use automatic mode (which applies the first available plugin), verify that <None> is displayed in the File unpacker control.

    • To choose a different plugin (if available), use the File unpacker control to choose the plugin.

      By default, this control lists only suggested plugins for the file type you selected to compare. To see all available plugins, enable the option, Display all packers, don't check the extension.

    • To launch the compare without using any plugin, choose <None> in the File unpacker control.

  2. Click OK to close the Select Unpacker dialog.

Your choice is displayed in the Unpacker field. Note that you cannot select an unpacker when launching a Folder Compare operation.

2. Launching WinMerge operations in Windows Explorer

The optional Windows shell integration enables you to run WinMerge compare operations directly from Windows Explorer, using WinMerge shortcuts in the context menu.

2.1. Enabling the Windows Explorer integration

The Windows Explorer shell integration is available only if enabled. You can enable it either during WinMerge installation or later, using the Shell Integration page in the Options window. In the Options window, configure the Add to context menu option, including its suboptions if you like.

2.2. Using the WinMerge shortcut

If you enable Add to context menu without the advanced menu suboption, the WinMerge shortcut is added to the Explorer context menu. For example:

To use the basic shell integration, begin by selecting two paths in Windows Explorer. Then, right-click and choose WinMerge in the context menu. For example:

WinMerge command in Windows Explorer context menu

WinMerge opens the paths directly in the File Compare or Folder Compare window.

The left and right sides are determined by the sort order in Windows Explorer. In the preceding screen shot, the Windows Explorer file list is in ascending order, so WinMerge opens with File2 on the left side and File1 on the right..

[Note] Note

If either path cannot be opened for any reason, WinMerge opens the Select Files or Folders dialog, where you can specify new paths. Similarly, if you select only a single path, the Select Files or Folders dialog opens with the selected file or folder in the Left field, leaving the Right path for you to specify.

The WinMerge shortcut is quick and easy to use, but you can compare only files or folders that you are able to select concurrently in Windows Explorer. For more flexible selections, consider enabling the advanced menu, described in the next section.

2.3. Using the advanced menu

If you choose the Enable advanced menu, the WinMerge shortcut is replaced with two Compare shortcuts:

Advanced WinMerge context menu

Use the Compare shortcuts in this order:

  1. Right-click the first path and choose Compare To. WinMerge stores the path in memory until you select the second path.

  2. If you decide that you have chosen the wrong first path, you can change it before choosing the second path:

    Right-click the new path and choose the Re-select First shortcut. The new selection overrides your previous path, and you can go on to the next step.

  3. Navigate to the second file or folder that you want to compare. The second path can be in any folder, or even in a different Windows Explorer window from the first path. Right-click the second path and choose Compare.

    WinMerge opens the File Compare or Folder Compare window, loading the first and second paths in the left and right sides, respectively.

[Note] Note

If you click Compare before designating the first path, the Select Files or Folders dialog is opened, with your selection as the first (Left) path. Specify the second path in the Right field to continue with the comparison.

The Compare To paths is stored in memory until WinMerge is opened. As a result, you don't need to select both files at the same time or even using the same Windows Explorer view: you can choose one, open a different directory, and choose the other one. Both paths are discarded from memory after a compare operation. This means that you cannot select one Compare To path and compare it against several paths.

2.4. Including subfolders when using the Windows Explorer integration

By default, folder compares that you do using the WinMerge or Compare shortcut are not recursive: only files in the top level are included. There are two ways to launch recursive compares with the Windows Explorer integration:

  • Enable Include subfolders by default in the Shell Integration page of the WinMerge Options dialog.

  • Press Control while selecting the WinMerge or Compare shortcut in the Windows Explorer context menu.

[Note] Note

These settings for the Windows Explorer integration do not change the Include Subfolders setting for the Select Files or Folders dialog, described in Quick start.

3. Using Drag and drop

From any Windows source that allows you to drag objects, such as Windows Explorer or the Desktop, you can drag and drop one or two paths into the WinMerge window. If you drop only one path into WinMerge, the Select Files or Folders dialog opens for you to select the second path. If the single path specifies a project file, then the project file is opened.

By default, WinMerge does not include subfolders in compare operations. To include subfolders, press and hold Control while dropping paths. Another useful key when dropping paths is Shift: To open the same path in both sides of a Compare window, press and hold Shift while dropping only one path. This is a handy way to open archive files (see Opening archive files.

You can drop paths into the Select Files or Folders dialog. A typical procedure is to drag and drop the first path into the WinMerge window, and then drag and drop the second path into the Select Files or Folders dialog. When a path is dropped into the Select Files or Folders dialog, it is loaded into either the left or right path field:

Left

If the left field is empty or both path fields already contain paths

Right

If the left path is not empty and the right path is empty

4. Project files

You can save the currently open paths and filters in a project file. Then, you can easily open the project later to compare the same files. Project files are handy if you compare the same files repeatedly.

4.1. Using project files

To use a project file In the WinMerge window, click FileOpen Project. WinMerge reads the paths from the project file. If the project file has two paths, both paths are opened. If only one path is given or one of paths is invalid, WinMerge opens the Select Files or Folders dialog, where you can add or correct the path information. Here are a few things to consider:

  • If you specify two project files, the project files themselves are compared.
  • If you specify a project file as the left file but do not specify a right file, the single project file is opened as if you had used the FileOpen Project command.
  • If you specify a project file as the left file and any other file on the right side, the contents of the project file and the other file are compared.

To specify a project file on the command line, simply enter it as a single file path.

4.2. Editing and saving project files

To save a project file, click FileSave Project. The Project File dialog provides fields and options that you can easily edit to build a project file. If a compare window is currently open, the Project File dialog is initialized with values from the current compare; otherwise, you provide the values yourself. To use an existing project, click Open and select a project to load its values (any existing values are overwritten in the dialog).

When you finished editing, click Save to store the file.

Project File dialog

4.3. Project file format

Project files are simple XML files with a .WinMerge extension. For example:

<?xml version='1.0' encoding='UTF-8'?>
<project>
   <paths>
      <left>c:\work\project1</left>
      <left-readonly>1</left-readonly>
      <right>c:\work\project2</right>
      <right-readonly>0</right-readonly>
      <filter>Visual C++ loose</filter>
      <subfolders>0</subfolders>
   </paths>
</project>

A project file contains a paths element that can contain one of each of these elements:

left

Left path to open

left-readonly

1 = Open read only

0 = Open normally

right

Right path to open

right-readonly

1 = Open read only

0 = Open normally

filter

File filter name or list of extensions

subfolders

0 = Subfolders not included

1 = Subfolders included

None of the fields is required, and they can be empty (for example, <left></left> or <left/>).