Command line

WinMerge

Command line


The WinMerge command line accepts several parameters in addition to the paths to compare. Most of these parameters are intended for using WinMerge as an external compare application or starting a compare operation from a batch file.

Use one of these formats for the WinMerge command:

WinMergeU [/?]

WinMergeU [/r] [/e] [/f filter] [/x] [/xq] [/s] [/ul] [/ur] [/u] [/wl] [/wr] [/minimize] [/maximize] [/dl leftdesc] [/dr rightdesc] leftpath rightpath [outputpath]

WinMergeU conflictfile

Entering the command with no parameters or pathnames simply opens the WinMerge window. Parameters are prefixed with either a forward slash ( / ) or dash ( - ) character. Pathnames have no prefix character.

  • /? opens WinMerge Help at this topic.

  • /r compares all files in all subfolders (recursive compare). Unique folders (occurring only on one side) are listed in the compare result as separate items. Note that including subfolders can increase compare time significantly. Without this parameter, WinMerge lists only files and subfolders at the top level of the two target folders. It does not compare the subfolders.

  • /e enables you to close WinMerge with a single Esc key press. This is useful when you use WinMerge as an external compare application: you can close WinMerge quickly, like a dialog. Without this parameter, you might have to press Esc multiple times to close all its windows.

  • /f applies a specified filter to restrict the comparison. The filter can be a filemask like *.h *.cpp, or the name of a file filter like XML/HTML Devel. Add quotation marks around a filter mask or name that contains spaces.

  • /x closes WinMerge (after displaying an information dialog) when you start a comparison of identical files. The parameter has no effect after the comparison, for example if the files become identical as a result of merging or editing. This parameter is useful when you use WinMerge as an external compare application, or when you want to eliminate unnecessary steps by ignoring files that don't have any differences.

  • /xq is similar to /x but does not show the message about identical files.

  • /s limits WinMerge windows to a single instance. For example, if WinMerge is already running, a new compare opens in the same instance. Without this parameter, multiple windows are allowed: depending on other settings, a new compare might open in the existing window or in a new window.

  • /ul prevents WinMerge from adding the left path to the Most Recently Used (MRU) list. External applications should not add paths to the MRU list in the Select Files or Folders dialog.

  • /ur prevents WinMerge from adding the right path to the Most Recently Used (MRU) list. External applications should not add paths to the MRU list in the Select Files or Folders dialog.

  • /u prevents WinMerge from adding either path (left or right) to the Most Recently Used (MRU) list. External applications should not add paths to the MRU list in the Select Files or Folders dialog.

  • /wl opens the left side as read-only. Use this when you don't want to change left side items in the compare.

  • /wr opens the right side as read-only. Use this when you don't want to change right side items in the compare.

  • /minimize starts WinMerge as a minimized window. This option can be useful during lengthy compares.

  • /maximize starts WinMerge as a maximized window.

  • /dl specifies a description in the left side title bar, overriding the default folder or filename text. For example: /dl "Version 1.0" or /dl WorkingCopy. Use quotation marks around descriptions that contain spaces.

  • /dr specifies a description in the right side title bar, just like /dl.

  • leftpath specifies the folder, file, or project file to open on the left side.

  • rightpath specifies the folder, file, or project file to open on the right side.

    WinMerge cannot compare files to folders, so both path parameters (leftpath and rightpath) must point to the same target type (either folders or files). If WinMerge cannot find either of the specified paths, it opens the Select Files or Folders dialog, where you can browse for the correct paths.

    [Tip] Tip

    In file comparisons, you can specify a folder name in one of the path parameters, as long as the folder contains a file with the same name as the one specified in the other, file path.

    For example, consider this command:

    WinMergeU C:\Folder\File.txt C:\Folder2

    If C:\Folder2 contains a file named File.txt: WinMerge implicitly resolves the second path as a file specification, and compares the two files. Of course, the command is invalid if C:\Folder2 does not contain a file named File.txt.

  • outputpath Specifies an optional output folder where you want merged result files to be saved.

    The third, output path is rarely needed when you start WinMerge from the command line. It is meant to be used with version control tools, where you might need to specify a third path for the result file. If you specify a third path, WinMerge still shows only two files in the File Compare window. However, if you save either of these files, it is written to the third path, leaving the two source files intact.

    Version control systems typically refer to the source and result files using terms like theirs, mine, and either merged or resolved. If you specify a third path on the WinMerge command line, and are working with a version control system, you should list the files in that order.

  • conflictfile Specifies a conflict file, typically generated by a Version control system. The conflict file opens in the File Compare window, where you can merge and resolve conflicts, as described in Resolving conflict files. Note that no other paths can be used with a conflict file.