WinDiff Help File Contents (windiff.hlp) in HTML format

WinDiff help file (windiff.hlp) contents

  1. Invoking Windiff from the command line
  2. File menu
  3. Edit Menu
  4. View menu
  5. Expand menu
  6. Expanded mode display
  7. Options menu
  8. Mark menu
  9. Zebra Stripes

For Help on Help, Press F1

Windiff compares directories or files showing the results graphically.
This is to DIFF as graphs are to columns of numbers.

Download Microsoft WinDiff

Filename : Windiff.zip
SHA256   : 95A2183D939FB888E517ACFDC06240CA7A21A9AF925D0404CCE7C86666A8E5B1

Invoking Windiff from the command line

To invoke windiff so that you can then use menus to define the comparison, just enter

Windiff

Command line flags

Anywhere in the command line you can include any of the following to modify the behaviour of windiff

  • -D to compare one directory only (i.e. ignore subdirectories)
  • -O to force it to stay in outline mode. The default is to expand single file comparisons. This is useful for comparing very large files or binary files where the expansion can take a long time and is not very meaningful.
  • -N name to do a NET SEND to name to announce the end of the comparison. This can be useful for very long comparisons involving thousands of files.
  • -S [saveopts] savefile to save the results of the comparison to savefile. This saves the outline mode list. This is only really useful for comparing directories.

    [saveopts] are any combination of

    • s to include files that are the same in both directories
    • l to include files that are only in the left hand (i.e. first) directory
    • r to include files that are only in the right hand (i.e. second) directory
    • d to include files that are different in the two directories
    • x to exit after the results have been saved.
  • -? to give immediate, context sensitive, syntax help for these command line flags (always worth a try)

    You can use “/” instead of “-” to prefix flags and it means the same.

Windiff can be invoked with one or two paths. The second path, defaults to the current directory. If both paths are (or are defaulted to) directories then it compares the whole directories. If one path is a file then it compares that file with a file of the same name in the other directory. If both paths are files then it compares the two files. The most common cases are as follows.

To compare a file in another directory with a file of the same name in this directory enter

Windiff path_to_other_file

To compare another whole directory with the current directory enter

Windiff path_to_other_directory

To compare two directories (including subdirectories) enter

Windiff path_to_first_directory path_to_second_directory

To compare two files

Windiff path_to_first_file path_to_second_file

File menu

  • Compare files… leads to a file open dialog for each of two files to be compared
  • Compare directories…leads to dialog to allow entry of two directory names for comparison
  • Abort will be greyed unless an operation is in progress. Then allows that operation to be terminated before completion. When this is not greyed, there is also an Abort button at the top right of the window which has the same function.
  • Save File List allows the list of files which are (the same, different, only in left or only in right) to be saved. In addition, a checksum for each file can be saved.
  • Copy Files… leads to a dialog allowing you to write the files to a disk. This can be useful if you are trying to synchronise two directories.
  • Print prints the current view (either outline or expanded)

Edit Menu

Edit left file invokes an editor (the default is notepad) on the left hand file. After editing the file is recompared.

Edit right file invokes an editor (the default is notepad) on the right hand file. After editing the file is recompared.

Edit composite file invokes an editor (the default is notepad) on a file which is constructed to be a composite of the two files. The first four columns of this file indicate the comparison status of each line. as follows:

  • !> The line occurs in the right hand file
  • <! The line occurs in the left hand file
  • <- The line has been moved. This shows its position in the left hand file -> The line has been moved. This shows the position in the right hand file.
  • (four blanks) indicates the line was the same in the two files. (white space may differ if the options allow that)

    After editing the file is recompared.

Set editor allows you to select the editor of your choice by specifying a command line. The string "%p" will be replaced by the name of the file to be edited and the string "%l" will be replaced by the line number. The default is to invoke notepad with the line "notepad %p" If you use the slick editor you might want to use "s %p -#%l"


View menu

  • Outline shows the list of files with the status of each
  • Expand shows the detailed comparison of the selected file
  • Picture shows the comparison pictorially at the left (turning the picture off saves screen real estate).
  • Previous Change (F7) skips backwards to the previous point of difference between the files or in outline mode to the previous file with status “different”
  • Next change (F8) skips forwards to the next point of difference between the files or in outline mode to the next file with status “different”
  • Rescan selected file recompares the selected file. If a file is unreadable for some reason (e.g. access denied because opened with DENY_READ by another process) then this allows you to try again for that file. This can be useful for tidying up loose ends, especially when doing large comparisons involving thousands of files.

Expand menu

  • Left file only shows only lines from left hand file (but coloured so as to highlight changed lines)
  • Right file only shows only lines from right hand file (but coloured so as to highlight changed lines)
  • Both files (default) shows a merge of both files. All the lines in the left hand file are shown in the order in which they occur in that file, likewise for the right hand file. Moved lines occur twice, once in the position of the line in the left hand file, once in the position for the right hand file.
  • Left line numbers causes line numbers to be shown, based on the left hand file
  • Right line numbers causes line numbers to be shown, based on the right hand file
  • No line numbers turns line numbers off. This saves some screen real estate.

Expanded mode display

Colours

  • Red background means left hand file.
  • Yellow background means right hand file.

If Windiff was invoked as Windiff other_directory then red means the other_directory and yellow means the current directory.



  • White background means common to both files
  • Blue text means that the line is moved text
  • Black text means text that is the identical (white background) or different (coloured background).
  • Green text means that windiff thinks that there is a corresponding similar line in the other file (see Zebra Stripes)

Options menu

Ignore blanks causes white space characters (space, tab, newline) to be ignored in the expanded view, so that lines which differ only in white space are shjown as identical.

Mono colours uses colours suitable for a monochrome display.

The next four options control which files (if any) are displayed in outline mode.

  • Show Identical Files Include files which are identical in each path
  • Show Left-Only Files Include files which occur only in the left hand path
  • Show Right-Only Files Include files which occur only in the right hand path
  • Show Different Files Include files which occur in both paths, but which are not the same.

Mark menu

Marks are used to allow particular files to be included or excluded from the comparison.

Mark file marks the selected file Mark pattern… leads to a dialog which allows you to specify a substring or a regular expression and
have all the files that match this pattern marked.

  • "$" means "end of string"
  • "\\" means "\"
  • "\." means "."

Thus to mark all files with extension "obj" the expression should be "\.obj$".

Hide marked files removes from the displayed list all the marked files (and any future file as it becomes marked)

Toggle mark state marks all unmarked files and unmarks all marked files. If you want to select the files that you wish to see, mark them, hide marked files (they will disappear) and toggle the mark state (they will reappear and the rest will disappear).


Zebra Stripes

After matching such parts of the file that it can match, Windiff looks at the remaining parts. Where there are sections which are different, but which correspond, in the sense that the part before and the part after match between the files, windiff has a choice between displaying the lines as blocks e.g.

previous line common to both files
first different line from first file
second different line from first file
first different line from second file
second different line from second file
following line common to both files
 
or interleaved. e.g.
 
common to both files
first different line from first file
first different line from second file
second different line from first file
second different line from second file
following line common to both files
 

Windiff uses a heuristic to judge whether the lines from the two files are similar or not. If it judges that they are similar it displays them interleaved, otherwise it displays them as blocks. The heuristic is quick to execute rather than sophisticated and slow. Sometimes one would wish that it had made the opposite choice.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

About the author

Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.

Leave a Comment