Welcome to Beyond Compare

Beyond Compare is a utility for comparing things. Things like text files, folders, zip archives, FTP sites, etc. Use it to manage source code, keep folders in sync, compare program output, and validate CD copies.

Although there is support for automatic functions, the main goal of Beyond Compare is to help you analyze differences in detail, and carefully reconcile them. It commands a wide range of file and text operations.

Beyond Compare distinguishes the information it compares as either files or folders. Beyond Compare is not limited to comparing folders and files on its host computer; it can compare folders and files over a network connection or via FTP.

In the context of Beyond Compare, folder-like files, such as ZIP files and CAB archives, are considered folders as well. Beyond Compare can also create a folder-like file called a "snapshot." Snapshots are a picture of a folder's contents at a particular time, but snapshots do not show the actual contents of the folder's files.

Beyond Compare's major components are a side-by-side Folder Viewer and a side-by-side File Viewer. A variety of plug-in viewers are available to compare specific file formats. They are free to registered users and are available on our website at:
www.scootersoftware.com/v2plugins

See also
Starting a Comparison
Uses of Beyond Compare
Glossary


Starting a Comparison

Using The Compare Wizard
The Compare Wizard sets up a comparison based on criteria that you select. To start the Compare Wizard, in the Session menu, choose New [image]. You can also start it from the Open dialog.

Using Shortcuts
Double-click on a Beyond Compare shortcut for standard startups. You can also drag a pair of folders or files and drop them on a Beyond Compare shortcut to startup a comparison of them. Shortcuts can be modified to startup the program in different ways. For details, see Command Line, Scripting.

Using Window's Explorer Context Menu
If Beyond Compare is included in Explorer's context menu, then you can use the following commands to specify which folders or files to compare:

  • Select Left Side to Compare allows you to pick the first folder/file to compare.
  • Compare to xxx allows you to pick the second folder/file to compare.
  • Compare allows you to compare the selected pair of folders/files.
  • Compare using allows you to choose which installed plug-in viewer to use for the selected pair of files.

Using Drag And Drop
You can drop folders onto the Folder Viewer to set them as base folders. You can drop files onto the File Viewer to compare them. If you drop more than two files or folders, only the first two are recognized.
If Beyond Compare is running but minimized or in the background, you can drag the items over the Beyond Compare button on the taskbar, wait a moment (without releasing), and Windows will bring Beyond Compare to the foreground for you.

See also
Including in Explorer's Context Menu
Explorer Context Menu Examples


Including in Explorer's Context Menu

Beyond Compare can include commands in Window's Explorer's right-click menu.

During the installation, you can choose to Include in Explorer context menu.

In the Tools menu, choose Options to enable or disable Include Beyond Compare in Explorer context menu.


Explorer Context Menu Examples

Example 1
Compare the contents of a zip archive with a live folder.

1. In the Windows Explorer, right-click the zip file and then left-click Select Left Side to Compare:

2. Then right-click the desired folder and left-click Compare to "xxx":

Using this technique, you can compare any two files or folders. Zip files and snapshot files (.bcss) are treated like folders.

Example 2
Compare two files using a viewer other than the default.

In the Windows Explorer, select two image files, right-on them and choose Hex Viewer from the Compare using menu:


Uses of Beyond Compare

Common tasks that can be performed using Beyond Compare:

  • Observe Changes over Time
  • Reconstructing Damaged Data
  • Managing a Website via FTP
  • Keeping Folders in Sync
  • Merging Changes to Source Code
  • Verify Copies

Current Limitations Of Beyond Compare:

  • It cannot compare MS Word, MS Excel or Adobe PDF documents because these are complex, proprietary file formats. These files can only be compared if you can convert them to plain text.
  • It does not run on Mac or Unix platforms, at least not natively. Users have reported some success running BC under VirtualPC. For OS/2 fans, BC can be relinked using Odin, with few problems. We have plans to develop a Linux version.
  • It does not do 3-way compares, or automated source code merging.


Observing Changes over Time

You can use Beyond Compare to see what has changed, or to make sure nothing has changed in your data.

Example 1: Compare to Snapshot

Example 2: Snapshot Tips

Example 3: View Registry Changes


Compare to Snapshot

Beyond Compare can save the current state of a folder in a special snapshot file. The snapshot holds a directory listing of the folder and all its subfolders. It optionally includes a CRC of each file -- a good way to detect changes in file contents without taking up much space in the snapshot file.

At a later date, Beyond Compare can compare that snapshot file with the current state of the folder, showing what has changed since the snapshot was created.

To create a snapshot:

  1. Select Save Snapshot [image] from the Actions menu.
  2. Choose Left side, Right side, or enter a specific path.
  3. Enable Store CRCs (for a more thorough snapshot).

The snapshot is a file with the extension .bcss, stored by default in your My Documents folder. When you need to compare the snapshot against your live data, simply double-click the snapshot file and it will open in Beyond Compare along with the live folder it was created from.


Snapshot Tips

Create a snapshot of an important archive and test periodically for corruption or "bit fade". Be sure to include CRCs in the snapshot.

Create a snapshot to serve as convenient, compact documentation for a CD distribution.

Create a snapshot of your system folders to record specific versions of dlls and other system components in use. Be sure to store CRCs and version data.

Before creating a snapshot that includes CRCs of a folder that contains lots of files and folders, you may want to disable any Anti-Virus software that is running in the background. Such software may be scanning every file that is being added to the snapshot, which can take a long time. Remember to re-enable the Anti-Virus software once you are done taking snapshots.


View Registry Changes

To see how an event (such as installing an application) changes the registry, you can export the registry before and after the event and then use Beyond Compare to view the differences.

To export the registry:

  1. Click Start, Run and type "regedit".
  2. In the registry tree, select My Computer.
  3. From the Registry menu select Export Registry File, enter a file name, and press Save.

The resultant file is a plain text file with the extension .reg. (Do not double-click this file, or Windows will import it back into the registry.)

To compare two registry exports:

  1. Highlight both files in Windows Explorer, right-click and select Compare. (This is assuming you've installed Beyond Compare's shell extension)
  2. The Beyond Compare File Viewer will open, displaying the two versions side-by-side.
  3. Select the Only Mismatches [image] display filter.


Reconstructing Damaged Data

When good data goes bad, Beyond Compare can help you put things right again. Often, time is of the essence, and a mistake can make things worse. Beyond Compare helps you spot deviances quickly and gives you tools to carefully repair them.

Example 1: Selective File Restore


Selective File Restore

This is a true story. One of our clients got hit with the Nimda worm, infecting their IIS server. It defaced several web pages and infected some executables. After taking the server offline and restoring a backup of the system drive into a subfolder on another drive, the System Administrator (SA) used BC to compare the live site with the backup:

  1. Specify root paths for live site and backup copy.
  2. Click Only Mismatches [image].
  3. Click Expand All [image].

BC quickly displayed all files that had changed since the night before. By opening specific files, the SA could see how the worm had changed the HTML code. BC also showed the numerous infected executables because they had different timestamps and had increased in size.

  1. Enter "*.html;*.exe;*.com" for file filter to limit display to just the HTML and executable files with differences.
  2. Click Select All Files and then Copy Left to quickly restore dozens of damaged files.
  3. Put the file filter back to "*.*" and click Only Orphans.
  4. Selectively delete worm executables and companion files.

As a final check, he used BC to look for files that could have been corrupted without changing their size or timestamp:

  1. Select the Only Matches display filter.
  2. Click Select All Files.
  3. Select Compare Contents [image] and pick Binary Comparison.

The resulting report showed that all files unchanged since the backup were in fact identical.

In a matter of a few minutes after the tape restore had completed, the live copy was back to normal and online again, without affecting any legitimate changes made since the backup. All of the commands used in this situation were available from the toolbar on the main folder display window.


Managing an FTP Site

Managing a Website via FTP

If you manage a web site through an FTP connection, Beyond Compare can be a great help. It has built-in FTP support, which treats your site as a remote folder. You can use the Compare Wizard to create a named session for managing your site. Select New [image] from the Session menu. Pick Synchronize with FTP site and follow the instructions to create a new session.

Example 1: Strategies for Showing FTP Differences

Example 2: Managing a Site

Example 3: Localizing Your Website


Strategies for Showing FTP Differences

FTP sites handle file timestamps differently than local file systems. When you copy a file between local folders, the "last modified" timestamp does not change. However, when copied to an FTP site, the file's timestamp is typically set to the current time. This means that Beyond Compare cannot detect file differences based on newer or older timestamps. After copying a group of files to an FTP site, they all appear as "newer" than the local copy, even though they are identical.

Also, be aware that some FTP sites store text files differently than Windows. Lines are terminated with a single line feed character rather than the carriage return / line feed combination in Windows. Because of this, file size difference might not be a true indication of real differences. Beyond Compare's Rules-based Comparison will automatically ignore differences in line termination.

Here are two strategies for dealing with these issues:

1) Copy Back Timestamps

After copying a group of files to an FTP site, use Beyond Compare's Touch command to change the local files' timestamps so that they match the FTP copy.

  1. From the Actions menu, select Touch [image].
  2. Choose the side that contains the local files.
  3. Select Copy Timestamps from Other Side, and press Start.

Version 2.1 has an option to do this automatically:

  1. From the Session menu, choose Comparison Control [image].
  2. On the Advanced tab, enable the Touch local files when copying to an FTP site option.

2) Use Only Content Comparison

Another approach is to use rules-based content comparison to find mismatched files and ignore timestamps altogether. This method is accurate, but since every file is downloaded to check its content it may be inappropriate for large sites or slow connections.

  1. From the Session menu, choose Comparison Control [image].
  2. Disable the Compare Timestamps option.
  3. Enable Compare Contents, and select Rules-based Comparison.


Managing a Site

After making changes to the local copy of your web site, use Beyond Compare to upload to the live site. You can copy the entire site at once, or just the files that have changed. As a final review before uploading, you can open HTML files in the File Viewer and see exactly what has changed. Click the View As Web Page [image] button to the right of the file caption to display the page in WYSIWYG mode.

Beyond Compare is also handy for quick fixes, such as correcting typos on your site. You can open the page in the File Viewer, make the correction, and save it both to the live site and your local folder.


Localizing Your Website

If you need to translate your website to another language, you can use Beyond Compare to help manage the translation.

The program comes with a pre-defined rules definition associated with *.htm and *.html files. You can create a new rules definition to better handle comparisons of translated pages against the originals:

  1. Select Options from the Tools menu and go to the Rules page.
  2. Click New and then accept File Viewer as the handler. The File Comparison Rules dialog will appear.
  3. Enter "HTML Translations" in the Name field, and *.htm;*.html in the Associated with field.
  4. Go to the Importance tab and enable all the whitespace options.
  5. In the String Literals section, click New, and then enter "<" in the Beginning with field and ">" in the ending with field. Click OK.
  6. Also enable the All other text is unimportant option.

With this rules definition, the translated text will be considered "unimportant" and colored blue, while any changes in HTML tags will be considered important and colored red. This makes it easy to spot accidental changes to tags.

The translator can use Beyond Compare as a text editor for the translation, working with the two language copies side-by-side. And later, when changes are made to the site, the translator can use Beyond Compare to identify what has changed, merging structural changes into the localized copy and adding new text.


Keeping Folders in Sync

Beyond Compare is great for keeping two folders in sync with each other.

Example 1: Synchronize Folders

Example 2: Create a Sync Shortcut

Example 3: Automating a Script


Synchronize Folders

There are three command that help you synchronize the base folders. The Synchronize Right [image] and Synchronize Left [image] commands offer the quickest way to synchronize one side with the other. The third command, Custom Sync [image], lets you do bidirectional or other specialized synchronizations.

By default, the Synchronize Right command will copy newer and orphan files from the left side to the right. Synchronize Left copies in the opposite direction. To change how these commands work, select Options from the Tools menu and select Sync Options. For instance, to have the Synchronize Right command also delete orphan files on the right, you would change the If file is only on the right setting to Delete right.

Affect only visible files is enabled by default, and limits the synchronization to files in open folders that pass the display filter. For instance, if the display filter is Only left side newer, then orphan files will not be visible and thus not copied. If you disable Affect only visible files, then all files that pass the file filters will be synced, including those in subfolders.

Create Empty Folders specifies whether to copy folders which have no contents, either because they are really empty, or because all their contents are filtered out.

If Use Selection is checked, then only the selected files and folders will be synchronized. Unlike other file operations, the synchronize commands always treats selections as two sided.

Select the Type of sync from the dropdown control.


Create a Sync Shortcut

If you sync a pair of folders often, you can create a shortcut to speed the process:

  1. Create a named session with the two folder names, specify file filters if desired, and set the display filter to Only Mismatches [image]. Save the session and exit Beyond Compare.
  2. Create a new shortcut to Beyond Compare on your desktop.
  3. Right-click on the shortcut, select Properties, and go to the Shortcut tab.
  4. In the Target field, add the name of your session in quotes at the end of the line. For instance:
    "C:\Program Files\Beyond Compare 2\BC2.exe" "Daily Correspondence"

To sync the folders, double-click on the new shortcut and use the Synchronize to Right [image] or Synchronize to Left [image] command.


Automating a Script

You can use Beyond Compare's script processor to perform certain tasks, such as synchronizing folders, without interaction. For example, to automate a backup of your C:\My Documents folder, enter the following script commands into Notepad:

  load "C:\My Documents" "C:\Backups"
  expand all
  select left.newer.files left.orphan.files
  copy left->right

Save this text file as: C:\My Documents\Sync.txt

A Beyond Compare script can be run at any desired time by using Window's Task Scheduler:

  1. Open the Control Panel and double-click Schedule Tasks.
  2. Double-click Add Scheduled Task.
  3. In the Scheduled Task Wizard, select "Beyond Compare 2" from the list of installed applications and follow the instructions.
  4. Double-click the newly created scheduled task to open the Properties dialog.
  5. In the Run field add a reference to your script file:
    <path>BC2.exe @Sync.Txt
  6. Change the Start In field to be the location of the script file:
    "C:\My Documents"

Note: If you are running Windows XP, you will first need to select Performance and Maintenance from the Control Panel before selecting Schedule Tasks.

We recommend including a log command in your script. If you have trouble with your script, check out the Scheduled Tasks error log: "SchedLgU.txt" in your Windows directory.


Merging Changes to Source Code

Whether you program in C++, VB, Delphi, HTML or any other language, Beyond Compare can help you manage changes to your source code. The side-by-side folder comparison quickly isolates files that have changed, and the File Viewer lets you analyze the differences. You can easily merge changes made by independent work on the source code - perhaps by programmers in different locations. It also works for keeping code in sync that is maintained for different platforms.

Example 1: Sharing Your Code

Example 2: Transporting Source

Example 2: Comparing Delphi Form Files


Sharing Your Code

Each of us working on Beyond Compare development have separate folders where we work on different parts independently. We use Beyond Compare (of course) to occasionally synchronize our efforts.

  1. Create a named session with the two locations as base folders, and appropriate file filters for the files that need to be synchronized.
  2. Select Only Mismatches [image] to limit the display to files that are different.
  3. In the Folder Viewer (the main folder comparison window), use Ctrl+R or Ctrl+L to copy entire files to the right or to the left.
  4. Double-click each differing pair to view the specific changes in the File Viewer.
  5. In the File Viewer, use Ctrl+N to step through changes in a file. Use Ctrl+R or Ctrl+L to copy selected sections to the right or to the left.

We generally copy changes from rather than to the other programmer. It can be handy to sort the comparison by the opposing Modified column, in order to quickly find the other programmer's recent work.

When a programmer finishes a particular feature, the other programmer can merge just those changes, without copying entire files. This is also a good way for programmers to review and understand each other's work.


Transporting Source

If you commonly take a project home to work on it, you can use Beyond Compare to copy the files to and from a floppy or laptop. You can copy only the files that have changed rather than the entire project. And, because of the color coding in BC, it is harder to accidentally copy in the wrong direction.

If the project does not quite fit on the floppy, compress it using your favorite zip utility. Then BC will work with the zip file as if it were a folder, and let you compare and update files individually.


Comparing Delphi Form Files

Borland Delphi's .DFM files are sometimes stored as binary files, but Beyond Compare automatically converts them to text for viewing and editing. They are displayed side-by-side so you can identify form properties that have changed.

After editing a binary .DFM file, Beyond Compare will attempt to save it as binary. If the conversion back to binary fails (due to a syntax error for instance) it will be saved as text instead.


Verifying Copies

You can use Beyond Compare to do a byte-by-byte comparison of files or entire folder trees.

Example
After burning a CD, use Beyond Compare to verify the accuracy of the copy:

  1. Select the root of the CD and the hard drive folder containing the copy as the base folders.
  2. Pick Select All [image], and then Compare Contents
  3. Select Binary comparison and click Start

All files in all subfolders will be compared and a report of any mismatches is displayed.

Another example
 Use Beyond Compare to copy folder trees between servers. Once the copy is complete, use the binary comparison feature to verify that the copy is accurate.


Glossary

Beyond Compare uses its own set of terminology. This glossary should help clarify these terms.

Standard Computer Terminology

CRC
(Cyclic Redundancy Check) is a numeric representation of the contents of a file. If the CRCs of two files are different, then the contents of those files must be different. If the CRCs match, then it is quite likely that the contents match.

CSV
Comma separated values

Plug-in/plugin
Software accessory that can be 'plugged into' the program for more features

Regular Expressions
Formulas for matching strings that follow a pattern

Touch/Touching
Change the timestamp of a file (DOS term)

Whitespace
The blank space at the beginning and end of lines and between words. In text files, it refers to any combination of the 'space' and 'tab' characters.

Zip archive/zip file
A set of files or folders, compressed into a single 'archive' file. There are different archive formats, but zip is the most common. Beyond Compare actually supports several different archive formats.

Beyond Compare Terminology

Base folder
A base folder is either of the top-most folders in the Folder Viewer

Folder Viewer/Directory Viewer
The main window that compares folders side-by-side.

File Viewer
The secondary window that compares text files side-by-side.

Important text
Text that is important to the comparison.

Orphan
In a side-by-side comparison, an orphan is an item that is on one side and not the other. We picked the word orphan because it is short and a reasonable metaphor. It is not a standard term for comparisons. Word processing applications sometimes use the terms 'widows' and 'orphans' for lines left over at the top and bottom of pages.

Skew tolerance
The number of lines BC will search forward and backward for a matching section.

Snapshot
A custom BC file that contains folder tree information. The metaphor is a picture taken with a camera, since it captures reality at a moment in time. Our snapshot files capture the state of folders so that the user can compare it to the live folder at some later time, and find what has changed.

Thumbnail view
In the File Viewer, the panel on the left with the color-coded summary of differences. In this context, 'thumbnail' means a small, concise, overview.

Timestamp
A timestamp is a file or folder's last modified time

Unimportant differences
Differences in unimportant text, or differences in character case.

Unimportant text
Text that is unimportant to the comparison. It might include blank lines, comments or line numbers.


Folder Viewer Overview

The Folder Viewer compares two folder structures side-by-side, in a variation of the familiar Explorer style. The view may be of folders on your hard drive or network, but it also may be an FTP site, a zip archive, or a snapshot taken earlier. All of these have a directory structure -- folders and subfolders containing files -- and Beyond Compare treats them equivalently.

The Folder Viewer gives you tools (such as filters and comparison criteria) to better understand the differences, and commands to reconcile the differences (copy, move, delete, etc.).

The pair of base folders and the various comparison settings are collectively called a Session that can be saved for later use.

The Folder Viewer's display can become outdated if disk activity occurs in the compared folders after they were loaded. Beyond Compare can either do a Refresh [image], re-comparing any changed files, or it can do a Full Refresh [image], re-comparing the entire folder tree.

See also
Understanding the Folder Viewer Display
Actions
Selecting Items in the Folder Viewer
Folder Viewer Display Filters
Managing Sessions


Understanding the Folder Viewer Display

The body of the main folder compare window displays the two folder structures side-by-side. Files and subfolders are displayed in rows. Those with the same name share the same row. The contents of subfolders are not displayed unless the subfolders are opened or expanded, and then they are displayed using an indented tree structure. A subfolder can be expanded or collapsed by double clicking in its row. All of a subfolder's subfolders can be expanded by right clicking in its row and selecting Open all Subfolders from the context menu. All folders and subfolders in the entire display can be expanded or collapsed by clicking Expand All [image] or Collapse All [image] in the View menu or toolbar. The rows may be sorted on any column by clicking on the column header and re-clicking it to reverse the order.

As the comparison is loaded, items are colored based on the Comparison Criteria settings. The main colors and their meanings are:

Color | Meaning
Black | Match
Red | Newer or mismatch
Gray | Older
Blue | Orphan (does not exist on other side)

In the following example, the file on the right side is colored red to show that it is newer. The icon in the center column [image] shows that a content comparison has found differences.

Folders are colored to give you hints about their contents. For instance, the comparison below lets you know that the folders contain at least one file that is newer on the right than on the left, and that both sides have at least one orphaned file.

Folders may appear hollow when you first start the comparison. This is because Autoscan is turned on but the background scanning process has not yet completed those folders. They will change color when the process is finished.

A folder will be yellow if Autoscan is turned off and you haven't opened the folder yet. Once you manually open the folder (and possibly its subfolders) it will be colored appropriately.

At the bottom of the display is the log panel, which shows a history of operations performed. To hide it or unhide it, select Log from the View menu. Right-click on the log for other options, such as Clear Messages and Save to File.

See also
Folder Colors
Folder Viewer Columns
Folder Viewer Filtering
Controlling the Folder Viewer Display


Folder Colors

A red folder contains a mismatch somewhere in it; a blue folder has an orphan somewhere in it; etc. The hollow folders are being examined in the background. They change color as soon as all their sub folders have been scanned. If you have "Automatically Scan Subfolders" off, then the folders stay yellow until you open them.

Notice that the folder colors reflect their contents -- regardless of the display filter in effect. For instance, in the following example we have selected the "No Orphans" filter, but some folders are colored blue. This means that those folders have an orphan file somewhere in them, even though orphan files are not currently being displayed.

Zip archives also use the colored folder icons, but with a "z" on them:


Folder Viewer Columns

Columns contain characteristics of a file or subfolder. While the Name column is always displayed, you can select other columns by selecting Columns from the View menu.

Size
The size of a file or the size of an entire subfolder's contents expressed in gigabytes, megabytes, kilobytes, or bytes.
Timestamp
The modified date and time of a file or subfolder
Extension
The file or subfolder's extension. Note that if this is not displayed in a separate column, then it is displayed appended to the name in the Name column.
Attributes
The file or subfolder's attributes (ashr). Note that if this is not displayed in a separate column, then it is displayed after the name, enclosed in parentheses, in the Name column.
CRC
The CRC checksum of a file's contents computed by Beyond Compare.
Version
The version extracted by Beyond Compare based on application files with extensions, such as .exe, .dll, .ocx, etc.


Folder Viewer Filtering

An important strategy in comparing folders is to eliminate the things that aren't important. Beyond Compare has two types of filtering mechanisms: File Filters and Display Filters.

File Filters let you hide files or folders based on their name or extension. You can also hide files that are older than a particular cutoff date and time, that are larger or smaller than a particular size, or that have certain attributes.

Display Filters let you hide items based on how they compare. For instance, selecting Only Mismatches [image] hides items that match. While File Filters are usually static throughout a session, a user often flips between Display Filters to better understand the comparison.

In general, folders are interesting because of their contents. Folders will disappear from the view if they don't contribute to the comparison. For instance, if you have selected Only Mismatches, folders that don't contain mismatched files will be hidden. This is particularly useful if you have many folders but few mismatches.

See also
File Filters
Folder Viewer Display Filters


Controlling the Folder Viewer Display

Pick a Display Filter to limit the view to certain comparison results, such as Only Mismatches [image], or No Orphans [image] .

To sort the folder comparison display, click on the appropriate column header. A typical display has filename, size and last modified columns. To add or remove columns, right-click over the header area. If you enable Extension, the file extension (file type) will be moved into its own column. This is useful if you need to sort by file extension.

Other items on the View menu help you manipulate the Folder Viewer display:

Icon | Caption | To perform this action
 | Suppress Filters | Display files and folders normally hidden from view (because of file filters or the display filter). Files and folders that were hidden will appear colored teal (blue-green).
 | Always Show Folders | Always display folders, even when their contents don't contribute to the comparison.
 | Ignore Unimportant Differences | After a content comparison, treat files that only have unimportant differences as matches.
 | Expand All | Open all folders and subfolders.
 | Collapse All | Close all folders.
 | Refresh | Refresh the displayed folders.
 | Full Refresh | Reload the comparison.

To change the display's appearance, open the Tools menu and click Options. On the Folder Viewer -> Colors page, edit the color scheme as desired. On the Fonts page, you can change the font used in the folder view.

To change the format of the timestamps in the Modified column, open Regional Options in the Windows Control Panel where you can edit the Time Format and Short Date Format. The changes you make will affect Windows Explorer and possibly other applications as well.


Actions

The Folder Viewer allows you to perform the same file and folder management that you can do in Windows Explorer. Additionally, BC provides some file and folder management that is not available in Windows Explorer. All file and folder management actions are available in the Actions menu.

Once you have items selected, you can perform some action on them. If you have selected a folder, actions such as copy or delete will apply to the folder and all its contents (visible or not).

Actions can be selected from the Action menu, by right-clicking a selection, or by using toolbar buttons.

Icon | Caption | To perform this action
 | Compare in Viewer | Compare files side-by-side in associated viewer
 | Compare To... | Allows you to select one file, and then click on a second file to compare them in viewer
 | Open With | Open selected files in external application
 | Compare Contents | Compare contents of selected files, folders
 | Copy | Copy selected files, folders
 | Copy to Folder | Copy selected files, folders to other folder
 | Move | Move selected files, folders
 | Delete | Delete selected files, folders
 | Rename | Rename selected files, folders
 | Attributes | Change file attributes on selected files, folders
 | Touch | Change timestamps on selected files, folders
 | Exclude | Exclude this file, or type of file, from session
 | File Differences Report | Print or save report of file differences
 | New Folder | Create new folder
 | Properties | Display file or folder properties
 | Synchronize to Right | Automated update or mirror of folders
 | Synchronize to Left
 | Custom Synchronize
 | Save Snapshot | Create snapshot file
 | Folder Comparison Report | Print or save report of folder comparison
 | Properties | Displays the properties as shown by Windows Explorer.


Compare Files in Viewer

If a single file is selected, Beyond Compare will load that file into the associated viewer, and if one exists, the file across from it, too. If two files are selected, they are loaded into the File Viewer together, ignoring any files across from them.

To compare files with different names, click the first one, hold down CTRL and click the second one, and then select Compare in Viewer.

The built-in File Viewer is designed to handle text files only. It cannot directly compare formatted documents such as MS Word, Excel or PDF files. These have complex, proprietary formats that the program doesn't understand. However, you can configure the File Comparison Rules to call an external conversion tool to extract plain text from documents before comparison. See our website for add-on rules that you can download:
www.scootersoftware.com/morerules


Open with

The Open With menu is located on the Actions menu in the Folder Viewer, and on the File menu in the File Viewer. It lets you open files with something other than the viewer associated with the file type. Open With works with files on local and network drives, but not on FTP sites or in zip files.

The Open With submenu contains:

  • Explore (if a single folder is selected)
  • Associated Application (if a single file is selected)
  • Other applications that you configure
  • All of BC's viewer and plug-ins

Explore opens the selected folder in a new Explorer window.

Associated Application opens the selected file as if you had double-clicked on it in the Windows Explorer. Executable files will run directly, and other files will open with their Windows association.

To configure applications to appear in the submenu, pick Options from the Tools menu, and select the Open With page. Click New and follow the instructions to specify the command line invocation of the application.

The submenu also lists all of Beyond Compare's viewers and plug-ins, so you can select one that isn't normally associated with the file type.


Compare Contents

From the Actions menu, Compare Contents [image] compares the contents of the selected files and folders, and displays the results when done.

If a folder is selected, its contents including any subfolders are compared, respecting file filters but regardless of display filters in effect. However, if an open folder is selected and any of its children are selected as well, then the folder's selection is ignored and only the selected children will be compared.

Caption | Meaning
Binary comparison | All bytes of the files are compared
CRC comparison | CRC values of the files are compared
Rules-Based comparison | User-defined rules are used to determine important and unimportant differences

When finished, a Comparison Results window appears, containing a tree view of the results. Open each group to see specific files. There may be a group labeled [image] folders and files filtered that lists the files that were not compared, due to the file filters in effect. You can double-click any of the files listed to examine them in the associated viewer.

After the content comparison, the Folder Viewer's center column will update to reflect the comparison results as well (as long as the compared files are across from each other).

Notice that items might disappear from the Folder Viewer when compared. For instance, suppose that a pair of files has different dates but their contents are in fact identical. Initially, before their contents are compared, they would show as mismatches in the Folder Viewer. If you have the Only Mismatches [image] display filter in effect, and perform a content comparison on these files, they will disappear from the display once Beyond Compare determines that they are, in fact, identical.

When the Ignore Unimportant Differences [image] option is off, similar text files will be treated as mismatches. When this option is on, similar files will be treated as exact matches. This makes it easy to spot important differences in large folder trees, without the unimportant differences getting in the way.


Copy Files or Folders

On the Actions menu, the Copy [image] command copies the selected files and folders from one side of the Folder Viewer to the other, overwriting any existing files on the target side.

If a folder is selected, its entire contents are copied, regardless of file filters or display filters in effect. However, if an open folder is selected and any of its children are selected as well, then the folder's selection is ignored and only the selected children will be copied.

By default, a confirmation dialog appears before the copy. To skip the confirmation, open the Tools menu, click Options, go to the Confirmations tab, and disable Confirm file copy.


Copy to Folder

On the Actions menu, the Copy to Folder [image] command copies the selected files and folders to a given folder, optionally with the path intact. You can select items on one side of the Folder Viewer or the other, but not both.

If a folder is selected, its entire contents will be copied, regardless of file filters or display filters in effect. However, if an open folder is selected and any of its children are selected as well, then the folder's selection is ignored and only the selected children will be copied.

Path Options Example
 In this example, three items are selected: The file 10.txt, the folder Q and the file 30.txt.

The pictures below show how the items look in the target folder, using each of the three available path options.

Keep Relative Folder Structure Determines the minimum difference between all of the selected files' paths, and creates that in the target folder. In this example, folders D and P were not selected, but they were created in the target folder in order to keep the same relative structure.

Keep Base Folder Structure Creates the entire path (back to the base folder) in the target folder.

Don't Keep Upper Folder Structure Ignores all path information and copies all selected files and folders into the target folder together. In this example, only the Q folder was created in the target folder, because it was specifically selected.


Move Files and Folders

On the Actions menu, the Move [image] command moves the selected files and folders from one side of the display to the other, overwriting any existing files on the target side.

If a folder is selected, its entire contents are moved, regardless of file filters or display filters in effect. However, if an open folder is selected and any of its children are selected as well, then the folder's selection is ignored and only the selected children will be moved.

By default, a confirmation dialog appears before the move. To skip the confirmation, open the Tools menu, click Options, go to the Confirmations tab, and disable Confirm file move.


Delete Files and Folders

On the Actions menu, the Delete [image] command deletes the selected files and folders from one or both sides of the comparison.

If a folder is selected, its entire contents are deleted, regardless of file filters or display filters in effect. If an open folder is selected and any of its children are selected as well, then the folder's selection is ignored and only the selected children will be deleted.

Enable the Use recycle bin if possible option to move files and folders stored on a local drive to the recycle bin instead of being completely removed. This option is ignored for deletions from network drives, FTP sites and within zip files.


Rename Files and Folders

On the Actions menu, the Rename [image] command renames the selected files and folders.

In the Action subsection, you can select either DOS Compatible or Regular Expressions. DOS Compatible expands wildcards using DOS rules. Regular Expressions uses Perl-compatible regular expressions.

DOS Rename

If multiple files or folders are selected, a base mask is computed which represents the overlap of all the names. An asterisk (*) is used to represent one or more characters, while a question mark (?) is used to represent a single character. Leave these characters alone, but change others to produce unique names for each of the selected files or folders.

Example:

If the following files are selected, the Old Name field will be "abc?.txt".

     abc1.txt
     abc2.txt
     abc3.txt

If you change New Name to "abc?.bak", then the files will be renamed to:

     abc1.bak
     abc2.bak
     abc3.bak

Or, change New Name to "xyz?.txt" and the files will be renamed to:

     xyz1.txt
     xyz2.txt
     xyz3.txt


Change Attributes

On the Actions menu, the Attributes command modifies the Read-only, Hidden or Archive file attributes of the selected files and folders. You cannot modify the System attribute.

If a folder is selected, its attributes are modified but not those of its contents. To modify the attributes of folder contents, you need to expand the folder and select the contents.

The checkboxes initially show the current state of the selected items. If a box is unchecked, then that attribute is disabled on all the selected files. If a box is checked, that attribute is enabled on all the selected. A gray checked box indicates that some files have the attribute and others don't.

Uncheck a box to clear that attribute from all selected files, or check it to set the attribute.


Touch Files

On the Actions menu, the Touch [image] command modifies the timestamp (date/time last modified) of the selected files.

If Copy Timestamps From Other Side is selected, then the timestamps of the selected files will be set to match those on the other side. If Set Timestamps To --> is used, then any date/time can be selected from the calendar.

The Default selection controls how the calendar is initialized. Current System Time will initialize the calendar to the current time. Last Touch will recall the timestamp from the last touch operation. The Default selection only initializes the calendar -- you can still change it to any date or time.


Exclude Files or Folders

The Exclude command on the Actions menu excludes the selected files and folders from the current session. It is a handy alternative to opening the File Filters dialog and entering file/folder exclusions.

If you select one or more files of the same type, the Exclude command will offer to exclude all files of that type.


File Difference Reports

File Differences Reports

To output the current file comparison, you can do either of the following:

  • In the Folder Viewer, highlight the files you wish to compare and select File Differences Report [image] from the Action menu.
  • In the File Viewer, select File Differences Report [image] from the File menu.

In the Folder Viewer you can select several files and produce reports all at once. Enable the Page break between reports option in the Page setup dialog if you would like each file differences report to start on a new page.

The Report Layout options are as follows:

Report Layout | Meaning
Over/under | Displays the lines with the left side on top and the right on bottom
Side-by-side | Displays the lines side-by-side just like the File Viewer does
Composite | Interleaves the lines of both sides, with the left side on top and the right on bottom
Patch | Creates a patch with generic format or with a normal, unified, or context Unix diff command format
Statistics | Lists statistics about the compare in descriptive or comma-delimited format
XML dump | Exports the comparison as an XML file

Note: Beyond Compare cannot process the patch output. You must use an external patch utility to apply a patch to a file.

You can output any of these reports to the following locations:

  • Printer
  • HTML report (file or clipboard)
  • Plain text (file or clipboard)

You can preview a Printer report with the Print Preview command, or an HTML report with the View in Browser command.

You can limit the report to only selected lines by enabling Just Selection. You can treat unimportant differences as matches by enabling Ignore Unimportant. If the report layout is affected by a display filter, it will match the current display filter by default, but you can change it.


Create New Folder

The New Folder command on the Actions menu lets you create a folder at the current position. If you have a file or folder selected, the new folder will be created with the same parent folder as the selected item.

If both sides are selected, a new folder will be created on both sides.

To create a new folder to use as a base folder, type the path for the new folder into the left or right edit controls, and press ENTER. In the warning dialog that appears, click Create.


Show Properties

The Properties command on the Actions menu displays the standard Windows property sheet for the selected files or folders.


Save Snapshot

On the Actions menu, the Save Snapshot [image] command saves a read-only listing of the specified folder, and all of its subfolders, including each file's timestamp, size, and file attributes. Check the appropriate boxes to also include CRCs computed from each file's contents, version data, or expanded zip contents. These options will make it take longer to create the snapshot, but the results will be more thorough.

Either the left or right side, or any entered path can be used. After Start is selected, a dialog will prompt for the filename and location to save the snapshot to. Save Snapshot will then build a complete listing of the given folder, including all subfolders, and save it in a compressed format in a file with a .bcss extension. Display filters are ignored when producing a snapshot. If you have file filters in place but want to include all files and subfolders, enable the Ignore Filters option.

Using Snapshots
Snapshots are useful for detecting changes over time. Snapshot files can be loaded at a later date and compared to a live folder.

You can load a snapshot just like any other base folder. Binary and Rules-Based content comparisons do not work on snapshots, since the files in the snapshot do not really exist. If CRCs of the files are saved, then CRC comparisons can be used to determine whether the contents of files have changed.

A snapshot remembers the name of the base folder it was produced from. If you load a snapshot on the command line (or drag a snapshot file onto the Beyond Compare icon), the program will automatically compare the snapshot with the original folder.


Folder Comparison Reports

To output the current folder comparison, select Folder Comparison Report [image] from the Actions menu.

The Report Layout options are as follows:

Report Layout | Meaning
Side-by-side | Displays the folders side-by-side just like the Folder Viewer does
Summary list | Displays a summary of the folder comparison
XML dump | Exports the comparison as an XML file

You can output any of these reports to the following locations:

  • Printer
  • HTML report (file or clipboard)
  • Plain text (file or clipboard)

HTML and Printer output support difference highlighting with color.

You can preview a Printer report with the Print Preview command, or an HTML report with the View in Browser command.

By default, the report will be limited by the current display filter. Override this by selecting a different filter from the drop-down field. You can also mark the columns you wish to include in the report.


Selecting Items in the Folder Viewer

Click on an item on either side of the display to select it. You can click in the center column to select both sides at once. Hold down the CTRL key and click to add items to your selection. To select a range of items, press the mouse button over the first, swipe to the last, and release the button. If your swipe crosses the middle column, entries on both sides will be selected.

The idea is that you can select specific files or folders from either or both sides and then perform some action on them.

Example
To compare files with different names, click the first one, hold down CTRL and click the second one, and then select the compare action.

To select all items, pick Select All [image] from the Edit menu (or Select All Files to select files but not folders). To change the selection to only one side, hold down the SHIFT key and press the left or right arrow key.


Folder Viewer Display Filters

Display Filters limit the view to certain comparison results. The comparison results are determined by the Comparison Criteria. For instance, you can pick Only Mismatches [image] to remove all the matching files so that you can concentrate on the mismatches.

On the View menu, the Suppress Filters [image] command allows you to temporarily suppress File Filters and Display Filters. Files and folders that were hidden will appear colored teal (blue-green).

You can configure the toolbar to hold one of these three different collections of display filters:

Dropdown

This is the default style for the toolbar, designed for simplicity. The buttons represent All [image], Only Mismatches [image] and Only Matches [image]. The dropdown on the middle button lets you pick a different composite display filter.

Composite

The composite display filters are convenient combinations of the component display filters.

Icon | Caption | Definition
 | Show All | Use no display filter on either side.
 | Only Mismatches | Filter out matches, based on file status, from both sides.
 | Only Matches | Filter out older, newer or different, and orphans from both sides.
 | No Orphans | Filter out orphans from both sides.
 | Mismatches but No Orphans | Filter out matches and orphans from both sides.
 | Only Orphans | Filter out matches, older, and newer or different from both sides.
 | Only Left Side Newer | Filter out matches, orphans, older on left (newer or different on right) from both sides.
 | Only Right Side Newer | Filter out matches, orphans, newer or different on left (older on right) from both sides.
 | Left Newer and Left Orphans | Filter out matches and older on left (newer or different on right) from both sides and orphans on the right side.
 | Right Newer and Right Orphans | Filter out matches and newer or different on left (older on right) from both sides and orphans from the left side.

Component

The component display filters allow you to produce combinations that are not available with the composite display filters.

Icon | Definition
 | Include all pairs that are matching.
 | Include all pairs that are different.
 | Include all orphans on the left.
 | Include all orphans on the right.
 | Include all pairs where the right is newer.
 | Include all pairs where the left is newer.


Managing Sessions

The Sessions and Filters toolbars offer convenient access to common session settings:

To recall a saved session, select it from the Session drop-down list. Or, you can select from the most recent sessions listed at the bottom of the Session menu.

To access all session settings in one dialog, select Session Manager [image] from the Session menu.

The Session menu contains:

Icon | Caption | Meaning
 | New | Start a new session using the Compare Wizard
 | New Empty | Start a new session with default settings
 | Open | Recall a saved session
 | Save | Save current settings
 | Save As | Save current settings under a new name
 | Delete | Delete the current session
 | Rename | Rename the current session
 | Revert | Revert the current session to the last save
 | Set Default | Change the default session settings
 | Session Manager | Manage all sessions
 | File Filters | Include or exclude certain files or folders by name, or by date
 | Comparison Control | Comparison Criteria, timezone adjustments and other session settings

See also
More About Sessions
Sharing Sessions


File Viewer Overview

The File Viewer visually compares two text files, either in a side-by-side or over-under layout. The display uses color to highlight the differences between files. The File Viewer is designed to help you analyze and reconcile the differences. It has a variety of display, search and editing functions.

Reload Files [image] lets you reload the files from disk and redo the comparison. However, if another application writes to a file that you are comparing, Beyond Compare automatically alerts you to the change and offers to reload the comparison. Please note, however, that reloading will cause you to lose any manual minor alignment changes you may have made.

Selecting Comparison Info [image] from the File menu shows a statistical analysis of how the two files compared.

Open With opens the currently selected file with either its Associated App or any other application that you have added to Beyond Compare's Open With page in the Options dialog under the Tools menu.

You can have multiple viewers open at once. Commands on the Windows menu help manage multiple windows.

Please note:
The built-in File Viewer is designed to handle plain text files only. Use the Hex Viewer to compare binary files. To view other kinds of files, you will need to download a plug-in Viewer. These plug-in viewers, are free to registered users and available on our website at:
www.scootersoftware.com/v2plugins

See also
Understanding the File Viewer Display
Controlling the File Viewer Display
Comparing Text Files
Walking Through Differences
Searching for Text
Editing Text Files
Comparing Clipboard Contents


Understanding the File Viewer Display

The File Viewer displays files in two panes that scroll together. The text is colored to highlight the differences between the files. By default, the color scheme uses red to flag important differences (insertions, deletions, and changes) and blue for unimportant differences. The File Comparison Rules [image] control how text is classified.

The display background is also colored to help you spot the differences. A light red background indicates an important difference somewhere on the line, while light-blue indicates an unimportant difference. The light red background takes precedence over the light blue. This makes it easy to find differences, even if they are horizontally scrolled out of view. (You can adjust these colors to suit your preferences. In the Tools menu, select Options, then File Viewer -> Colors.)

On the left edge of the display is the optional thumbnail view. It represents each line of the comparison as a colored line, one pixel high. At a glance you can see the pattern of differences throughout the comparison. The white rectangle represents the main display's current view, and the small triangle represents the display's current line. Click on a line in the thumbnail to position the display at that location.

On the bottom of the display is the optional Line Details area. It displays the current line from both files using the entire width of the window.


Controlling the File Viewer Display

To limit the display, pick one of the display filters from the View menu:

Icon | Caption |
 | All | Show all text
 | Just Differences | Only show lines with differences
 | Differences with Context | Show lines with differences, but include nearby lines also
 | Just Matching | Only show matching lines

This is the default display, designed for simplicity.

Toggle the Ignore Unimportant Differences [image] option to either recognize or ignore unimportant differences (as defined by the Rules settings). When it is disabled, unimportant differences will appear along with important differences (for instance, when Just Differences [image] is selected). When enabled, unimportant differences are treated and colored as matching text.

Use Swap Sides [image] to swap the two files being compared between their display areas.

Component

For more control, you can configure the toolbar to display component filters. To switch to a component display, select component from the Toolbars option under the View menu. These four buttons represent the four possible comparison results. You can enable or disable each to produce combinations not available with the composite filters. The Component options are as follows:

Icon | Meaning
 | Show matching pairs
 | Show differences
 | Show left orphans
 | Show right orphans

Options

The following options are also available from the View menu:

Icon | Caption |
 | Side-by-side Layout | Displays the two files being compared in a side-by-side orientation
 | Over-under Layout | Displays the two files being compared in an over-under orientation Note: You can choose either Side-by-side or Over-under.
 | Show Whitespace | Shows normally invisible characters, such as spaces, tabs, and line terminators
 | Show Line Numbers | Displays the line number of each line in their respective files preceding the display of the line itself against a gray background
 | Thumbnail View | Displays a color coded side-by-side view of the files' differences to the left of the files' display
 | Line Details | Displays the corresponding lines at the selection over and under each other below the display of the files
 | Ruler | Displays the ruler in the line details area. It's only appropriate if you have a fixed pitch font in the viewer.

For certain file types (*.html, *.xml, *.jpg, *.gif) you can switch to a web view of the file. Click the View As Web Page [image] button to the right of the file caption. (This feature does not work on files within zip files.) If the file is located on an FTP site, you will need to enter a web-equivalent URL.

To improve the quality of the comparison, edit the text comparison rules [image].

To change the alignment of text between the left and right sides, right-click on one line, select Align Manually from the popup menu, and then do the same on the line on the opposite side that you want to align with. To disassociate a line or group of lines from the other side, select the lines, right-click and pick Isolate from the popup menu.

To change the display's appearance, open the Tools menu and click Options. On the File Viewer -> Color tab, edit settings as needed. You can change the viewer's font on the Fonts page.


Comparing Text Files

Text files are compared line-by-line. The File Viewer considers text files to be flat, without formatting. The File Viewer has color to help you visually identify the differences in the files. You can customize the colors by selecting Colors from the Options dialog in the Tools menu.

If you select a line, the comparison state is displayed at the bottom. The different states are: differences, unimportant differences, exact, and orphan.

To compare the contents of two files, double-click on the file in the folder viewer. To compare two files with different names, click on the first file and select Compare to from the Actions menu. The cursor changes to [image]. Click on a file, and it will be compared to the first. To cancel the Compare to function, right click on any file and select Cancel Compare to.


Walking Through Differences

The Next Difference [image] and Prev Difference [image] functions help you step through all the differences in your files, and all your files with differences. In the File Viewer, click Next Difference to position at the next section of mismatched text or Prev Difference to go back to the previous difference.

You can control whether Next and Previous are on a line-by-line basis or a section-by-section basis. From the File Viewer's Tools menu, select Options and select Next Difference under File Viewer.

You can use Next Difference In Line and Previous Difference In Line to auto scroll horizontally to show and highlight each difference in long lines with multiple differences. When you want to frequently navigate to a particular line, use Set Bookmark to record the current Cursor position, then use Go To Bookmark to return to it whenever you need. The bookmarked line is indicated with a small right-pointing triangle preceding its display.

Under Next Difference, select Advance by Section to step through sections of mismatched text, or select Advance by Line to step to each different line. If you step by section, you can enable Auto-select section to select the entire section when you step to it. Then you can delete or copy the whole mismatched section to the other side with one additional keystroke.

You can also specify what the File Viewer does when there is no Next or Previous difference. Under When No More Differences, pick your preferred behavior when there are no more differences in the file:

  • Do not change position
  • Wrap around to first difference in the file,
  • Or, Open next mismatched file, go to first difference

Enable the Beep option to sound a warning in addition to this behavior. The arrow icons also change color from bright yellow to dull yellow to indicate that the command will open the next file.

To jump directly to the next mismatched file while in the File Viewer, from the Search menu select Go To Next Different File, or Go To Previous Different File.

For increased speed, you can opt to have Next Difference [image] and Previous Difference [image] automatically go to the Next or Previous file when it runs out of line differences. You are not limited by using the Folder Viewer to change files. At the top of each file's display is a bar containing the name of the file where you can type or edit the path names and press Enter. You can also pick a recently used file with the dropdown [image].

To navigate to a line containing specific text or that matches a regular expression, use the Find feature in the Search menu.


Searching for Text

In the File Viewer, select Find [image] from the Search menu. You can either type the text or a regular expression pattern in the find box, or you can click the dropdown [image] to select it from a list of previous searches. Clicking OK will move the cursor to the first line that meets the criteria. Clicking Select All does the same thing as clicking OK, but it selects all the lines that match the criteria.

The Find dialog options are:

Option | Meaning
Case sensitive | Only match text with the same character case (uppercase or lowercase).
Whole words only | Searching for apple will not match on apples, applesauce or snapple.
Wrap search | When one end of the file is reached, continue searching at the other end.
Regular expression | Interpret search string as a Perl-compatible regular expression.
Side | Select Left or Right to determine which side of the file comparison to search.
Direction | Select Forward or Backward to determine the direction of the search.
Scope | Select Global to search the entire file, or select Selected Text to only search the selected text.
Origin | Select either From Cursor or Entire Scope to determine where the search starts.

Select Find Next [image] or Find Previous [image] to continue searching for the same text.

To find and replace text, select Replace [image].


Editing Text Files

The File Viewer can perform basic editing functions. These commands in the Edit menu affect the currently selected side in the viewer:

Icon | Caption | Meaning
 | Copy to Other Side | Copy selected lines to the opposite side.
 | Edit Line | Edit the current line. Editing occurs in the Line Details area at the bottom of the window.
 | Insert Blank Line | Inserts a blank line. Select several lines to insert several blank lines.
 | Increase Indent | Indents the selected lines one tab stop.
 | Decrease Indent | Removes one tab stop's worth of leading whitespace on selected lines.
 | Cut | Copy selected lines to clipboard and delete them.
 | Copy | Copy selected lines to clipboard.
 | Copy Both Sides to Clipboard | Implicitly extend the selection to the other side, and copy both sides to the clipboard, separating each pair of lines with the Tab character.
 | Paste | Insert clipboard contents as new lines. (Does not replace selected lines.)
 | Delete | Delete selected lines.

You can perform compound operations. For instance, you can copy a line from one side to the other, and then edit it further.

Select Undo [image] to undo the most recent edit command, or Redo [image] to reapply an undone command.

The Revert command changes text that has been edited, back to its original state. It is different from Undo. Use Revert when you have made several changes to your files, and you want to undo an early edit without affecting the later edits. Revert only appears on the right-click context menu, after selecting edited text.


Comparing Clipboard Contents

To load the contents of the Windows clipboard into either side of the File Viewer:

  1. Select the desired side.
  2. From the File menu, select Open Clipboard.

This will replace the prior contents of that side. To add the clipboard contents to existing text, use the Paste command instead.


Sessions

The primary specification for comparing folder structures is the pair of base folders being compared, such as C:\Alpha and C:\Beta, or perhaps \\Development\AcmeWebSite and ftp://ftp.acme.com. There are other parameters to consider as well. For instance, you may want to restrict the comparison to certain types of files, or ignore certain differences and concentrate on others. For information about restricting the comparison, refer to Comparison Criteria.

Beyond Compare remembers these various settings as a Session. Since you may come back to the same comparison time after time, you can save sessions with descriptive names. Saved sessions can be very useful, but you can also ignore them. The <untitled> session keeps track of your last folder comparison that wasn't explicitly saved.

See Also
Session Manager
Default Session Settings
Shared Sessions
More About Sessions


Session Manager

Select Session Manager [image] from the Session menu to access the Session Manger. Your saved sessions are displayed on the left side. Any unsaved sessions are displayed as <untitled>. Double-clicking a session opens it in the Folder Viewer.

With the following buttons, you can perform actions on the listed sessions:

Button | Meaning
New | Creates a new, empty session
New Clone | creates a new session, as a copy of the selected session
Lock/Unlock | Locks or unlocks a session. A session can be locked to prevent accidental modifications.
Delete | Deletes the selected session
Open | Opens the selected session in the Folder Viewer
Close | Closes the Session Manager

When you make a change to the current session, the following buttons become active:

Button | Meaning
Use Untitled | Takes the current settings and opens an untitled session with these settings in the Folder Viewer
Save | Saves changes to session settings
Save as... | Saves modified session under a different name
Cancel | Discards changes to session settings

The Session Manager has six tabbed pages for modifying sessions. The tabs with the filter icon [image] are the same as those found when you select File Filters from the Session menu. The tabs with the criteria icon [image] are the same as those found when you select Comparison Control from the Session menu.

See Also
General Session Options
Filtering by Name
Filter by Date and Other Filters
General Comparison Criteria
Advanced Comparison Criteria


General Session Options

On the General tab, you can edit the folder path name to modify the folders to be opened. You can set folders as Read-only by checking the Read-only checkbox. The down button [image] copies the Left Base Folder to the Right Base Folder, and the swap button [image] swaps the Left and Right Base Folders.

In the Folder Handling section, you can check the Automatically scan subfolders in the background checkbox. This selection causes folders to be read in the background when a comparison is loaded. This way, folders can be colored appropriately before you open them. You can also check Expand subfolders when loading session to automatically open all folders when a comparison is loaded. Checking Only expand subfolders with differences limits auto expansion to the folders that have mismatches.


Filtering by Name

You can exclude folders and files based on their names by using one or more file masks. In the Filters toolbar field, separate file masks with semi-colons. Or, select File Filters [image] from the Session menu and enter each file mask on its own line.

File mask
A file mask is a pattern of characters and wildcards used to match folder and file names.

Example: *.* would match any filename. For historical reasons, it even matches files that don't have an extension.
Example: *.html would match any HTML filename.

Wildcards
Wildcards allow a file mask to match multiple folder or file names.

? Matches any single character.
* Matches zero or any other amount of characters.
[az] Matches one of the characters within the set, a or z.
[a-z] Matches any characters within a range, from a to z.
[!az] Matches any characters not in the set, not a or z.

Example: A? would match A followed by any single character.
Example: A* would match A followed by any amount of characters.
Example: [a-z0-9] would match any number or letter.
Example: [!ac-g] would match any character except for a, c, d, e, f, and g.

Simple file masks
Simple file masks will affect any files or folders whose parent folder is included. The base folder is always included. All folders which contain included files are also included.

To exclude rather than include the specified items, add a minus sign (-) in front of a file mask in the Filters field. In the File Filters dialog, place the file mask in the Exclude field rather than using the minus sign.

f Include any file named f.
p\ Include any folder named p.
-f Exclude any file named f.
-p\ Exclude any folder named p.

Example: *.pas;*.dfm;*dpr would include only files with extensions pas, dfm, or dpr.
Example: Source\ would include only folders named Source and their subfolders.
Example: -*.dcu;-*.ddp would exclude files with extensions dcu, or ddp.
Example: -Backup\ would exclude folders named Backup.

Relative file masks
Relative file masks affect files or folders in specific locations.

p\f f must be in folder p.
.\f f must be in the base folder.
...\f f may have zero or more parent folders.

Example: Windows\*.txt would affect any text file in any included folder named Windows.
Example: ...\Windows\*.txt would affect any text file in any folder named Windows.
Example: .\Windows\*.txt would affect any text file in a folder named Windows that is in the base folder.


Filter by Date and Other Filters

To edit file filters, select File Filters [image] from the Session menu.

The Filter by Date tab allows you to exclude files with timestamps older or newer than a specified cutoff date. The cutoff date is either a specific date and time, or an amount of days relative to 12AM on the current system date.

The Other Filters tab controls attribute and size filters.

The Attributes settings allows you to exclude files based on whether they have Archive, System, Hidden, and Read-only attributes. If any included attribute is checked, files must have that attribute to be included. Files with any excluded attribute will be excluded.

The Size setting allows you exclude files with a size in bytes smaller or larger than a specified cutoff size.

If a file on one side should be hidden but the file on the other side should be visible, both are visible and the one that should be hidden will appear colored teal (blue-green).

Active filtering by date, attribute, and size are indicated on a panel that appears in the Folder Viewer.


General Comparison Criteria

To view or change a session's comparison criteria, select Session > Comparison Control [image] . Or, go to the Criteria tab in the Session Manager [image].

Timestamp

Criteria | Effect
Tolerance, in seconds | Timestamps must be at least this many seconds apart to be considered different. This is useful for FAT file systems that round timestamps to the nearest 2 seconds.
Ignore DST difference | Ignore exact hour differences in time. This is useful when Daylight Savings causes shifts in some timestamps but not others.

If the Timestamps criteria is enabled, the date/time of the last modification is considered evidence of a mismatch. You can set options to ignore small differences in times (due to different ways of storing timestamps), or whole hour differences (due to changes in Daylight Saving Time).

You may want to disable the Timestamp criteria if timestamps don't accurately portray when the file has modified. For instance, copying a file to an FTP site does not retain the file's timestamp, so you might want to disable the Timestamp criteria and rely on Content criteria instead.

Contents

Criteria | Effect
Size alone | Compare file sizes.
Size and CRC | Compare file size and CRC of contents
Binary comparison | Compare file contents byte-by-byte
Rules-based comparison | Compare file contents based on associated rules

File size is the crudest (but fastest) measure of a file's contents. If sizes don't match, then certainly the contents of files differ.

CRC refers to Cyclical Redundancy Check, a mathematical hash of a file's contents. In the cases where the CRC is known (zip files and snapshots), it provides a good approximation of a byte-by-byte comparison.

A binary comparison gives the greatest assurance that two files are identical. It can be faster than calculating a CRC from scratch, since a binary comparison will stop at the first mismatched byte.

A rules-based comparison is ideal when you want to be able to ignore certain unimportant differences. What text is important and unimportant is defined by the file comparison rules associated with the file type. A pair of files with "similar" contents are identified by a special icon, and can be treated as either mismatches or exact matches, depending on the state of the Ignore Unimportant Differences [image] option.

Versions

Compares version information as typically stored in application files with extensions such as .exe, .dll, .ocx, etc.

File Attributes

Criteria | Effect
Archive | Compare archive attributes
System | Compare system attributes
Hidden | Compare hidden attributes
Read-only | Compare read-only attributes

In the Folder Handling section, you can check the Automatically scan subfolders in the background checkbox. This selection causes folders to be read in the background when a comparison is loaded. This way, folders can be colored appropriately before you open them. You can also check Expand subfolders when loading session to automatically open all folders when a comparison is loaded. Checking Only expand subfolders with differences limits auto expansion to the folders that have mismatches.


Advanced Comparison Criteria

To view or change a session's more advanced comparison criteria, select Comparison Control [image] from the Session menu and click the Advanced tab. Or, go to the More tab in the Session Manager [image].

The Timezone Adjustment section allows you to set an offset in whole hours to either right or left side timestamps. You can use this feature when either base folder is in a different time zone or if Daylight Savings Time is misrepresented. Selecting Ignore timezone differences allows you to ignore timestamp differences that are multiples of an exact hour.

The Miscellaneous options are as follows:

Always treat archive files as folders
By default, zip and snapshot files are treated as files until you open them, and then treated as folders. Enable this option to always treat them as folders.
Case sensitive filenames
Treats filenames as case-sensitive if the system supports it
Bypass disk cache on file reads
Reads directly from the media, avoiding the Windows' disk cache. This ensures an accurate comparison after copying to questionable media.
Maintain DOS 8.3 aliases
Try to keep the same short (DOS 8.3) filenames when copying files
Touch local files when copying to an FTP site
Many FTP sites do not allow BC to control the file timestamps, so when a file is copied to the FTP site, its date will not match the local copy. This option changes the local file to match the FTP copy.
Independent timestamp, content comparison rules
Treats files as different if timestamps OR contents differ. If disabled, a content comparison that finds identical contents overrides the timestamp comparison and treats the files as matching.
Detect partial file locks
Tests for file locks before attempting copy. Some applications, such as Outlook, lock a portion of a file for their use.


Default Session Settings

When Beyond Compare first creates a new session, it initializes all of the settings to a particular set of values, called the default session. The default session is like other sessions, except it does not contain base folders. The default session is used as a template for new, empty sessions, and when loading a pair of folders from the command line or shell extension.

When you first install Beyond Compare, your default session settings will be the program defaults. These are settings that we decided are fairly typical, and so built into the program. You can change the default session to better suit your needs.

To change the default session, select New Empty [image] from the Session menu, or click New [image] in the Session Manager dialog. Configure all of the settings the way you'd like. Then, select Set Default from the Session menu and click the Set current settings as default button. This will cause all of the current session settings (excluding base folders) to be saved as the new default session, overriding the program defaults. To change them back, click the Reset to Program Defaults button.


Shared Sessions

Multiple users can share read only sessions by using a shared sessions file. From the Tools menu, choose Export Settings to create a shared sessions file with any subset of your sessions.

To use a shared sessions file:

  1. From the Tools menu click Options.
  2. On the Folder Viewer page, enter the location of the Shared Sessions File.


More About Sessions

To see all the settings that are associated with a session, select Session Manager [image] from the Session menu.

When you save a session it remembers these settings, and restores them the next time you recall that session. If you change session settings and exit the program without saving, the current settings are saved as a session called <untitled>. The <untitled> session is the default session the next time the program is run, but is discarded as soon as another (named) session is selected.

As you change base folders (without changing sessions), the program remembers the prior folder comparison. You can use the Back [image] and Forward [image] buttons to quickly return to a prior folder comparison. The back/forward memory is cleared when you select a different named session.

In the Session Manager, you can lock a saved session so that it can't be accidentally changed or deleted. Select a session and click Lock to lock it or Unlock to remove the lock. If you open a locked session and change any session settings, you will not be able to save them under the same session name. When you leave the session, changes will be discarded without the usual "Save changes to session?" prompt.

See also
Default Session Settings
Sharing Sessions


File Comparison Rules

File Comparison Rules are the rules that you associate with different file types. Each set of rules is given a unique name (for instance "C++ Source" or "Delphi Source") and appropriate file associations (for instance *.cpp,*.h or *.pas,*.dfm,*.dpr). Further settings define tab stops, distinguish important from unimportant text, and assign weights to certain lines to help the alignment process.

Rules primarily control how the File Viewer handles your files, but they can also affect how the Folder Viewer compares file contents. If you use rules-based content comparison, then the Folder Viewer can limit the display to only files with important differences.

See also
Rules-based Content Comparison
Managing File Comparison Rules
General File Rules
File Importance Rules
File Alignment Rules
File Conversion Rules


Rules-based Content Comparison

When you select Rules-based comparison in the Comparison Criteria settings, the Folder Viewer will automatically scan each file pair for differences, using the file comparison rules associated with the type of file. The rules define what text is important and what isn't. A rules-based content comparison is also performed when you open a pair of text files in the File Viewer, or when you use the Compare Contents action command.

The results of the content comparison are indicated by an icon in the center column of the Folder Viewer.

Result | Icon | When...
Exact |  | content matches
Different |  | important differences found
Similar |  | differences only in unimportant text

These results override other comparison criteria and can change the Folder Viewer display. If the rules-based comparison results in an exact match, the items will be treated as exact matches in the Folder Viewer. They will be colored black, even if their timestamps or sizes differ. Conversely, timestamps and sizes may match exactly, but if an important difference is found, the items will be colored red.

Notice that items might disappear from the display when compared. For instance, suppose that a pair of files has different dates but their contents are in fact identical. Initially, before their contents are compared, they would show as mismatches in the Folder Viewer. If you have the Only Mismatches [image] display filter in effect, and perform a content comparison on these files, they will disappear from the display once Beyond Compare determines that they are, in fact, identical.

When the Ignore Unimportant Differences [image] option is off, "similar" text files will be treated as mismatches. When this option is on, similar files will be treated as exact matches. This makes it easy to spot important differences in large folder trees, without the unimportant differences getting in the way.


Managing File Comparison Rules

From the Tools menu, click Options, and then select the Rules page. Here you can see and manage the entire list of defined rules.

The order of the list is important. When Beyond Compare looks for a set of rules to use on a file, it scans this list from top to bottom, stopping on the first match in the File Types field. If an item shows in red, it means that prior items cover the file types, so the item will never be automatically selected (although you can manually select any rules). To change the order of the list, highlight an item and click Move Up [image] or Move Down [image]. You should have a "catch all" rules definition at the bottom of the list associated with *.*.

When you open the File Viewer, the program automatically selects the rules to use based on filenames. To change the rules from within the File Viewer, select Pick Rules [image] or Edit Current Rules from the Tools menu.

Beyond Compare comes with preconfigured rules for common text file types. You can modify them or add to them. You can perform the following actions on the rules:

  • New
  • Clone
  • Edit
  • Move Up
  • Move Down
  • Delete

Most rule definitions will be based on the built-in File Viewer, described here. You may also have rule definitions for plug-in viewers, such as the Hex Viewer.


General File Rules

The General tab options are as follows:

Name
Descriptive title

Associated with
List of file types that this rule applies to. Multiple types can be included by separating them with a semicolon. The masks can be as specific as necessary (eg. "BC2*.ini"), but masks can not include path information.

Whitespace includes
These settings control which characters are considered to be whitespace during the comparison.

Only spaces
Tabs will be treated as a non-printable character and will not be expanded.

Tabs and spaces
Tabs will be treated as whitespace and will be expanded based on the Tab Stops setting.

Line endings
Windows, MacOS, and Unix use different characters to indicate the end of a line. Normally, the type of line ending character is ignored, and lines with different endings will be considered matches. This setting overrides that behavior and compares the line endings. To see the difference, use the "Show Whitespace" command.

Maximum Line Length
How long a line can be before it is forcibly wrapped. This setting uses character wrapping, rather than word wrapping, so it can split lines in the middle of a word. Wrapping is performed before the comparison, and it may require a realignment because it can affect line numbering. While the default line length is 4096, it can be increased to 8192, but there may be some performance loss.

Character Set
The character encoding of the files. There are many ways to store the characters in a text file, and this setting controls how those characters are treated. "ANSI", the default, is the standard encoding used by Windows and is dependant on the computer's regional settings. "OEM" represents a similar encoding used by DOS. "UTF-8" and "Unicode" are standard encodings that can store text from more than one language, and will be the same across all computers. When possible UTF-8 and Unicode files will be detected automatically. "Prompt On Load" will ask for the encoding when loading the visual comparison, allowing for comparisons of files with different encodings.

Ctrl+Z indicates end of file
Some DOS editors use the Ctrl+Z character to mark the end of a file. If the File Viewer shows garbage after the end of your file, this setting this may help eliminate these garbage characters. Do not use this when comparing binary files.


File Importance Rules

The Importance tab is where you define what should be considered unimportant, important, and how to treat everything else. The Importance tab options are as follows:

Unimportant Text
These settings controls which text Beyond Compare considers significant when comparing files. Differences in unimportant text are flagged as "similar" instead of different, and will show up with a in blue (default) instead of red. Using the "Ignore Unimportant Differences" option in the file and folder comparisons will mark unimportant differences as exact matches, coloring and filtering them as such.

In some text files, the actual text can be considered unimportant. For instance, some text files allow the author to insert comments, which can be considered unimportant. To define such text, click the New button in the Unimportant Text area to bring up a custom dialog.

You can create many such Unimportant text specifications, and only one of these needs to match for the text to be considered unimportant. The Edit and Delete buttons let you change or remove existing listings.

Character case (ABC = abc)
Controls whether differences in character case are important.

NOTE: Unlike the other unimportant text categories, this affects text in string literals.

Leading whitespace
Controls whether whitespace at the start of the line is unimportant.

Embedded whitespace
Controls whether whitespace in the middle of the line is unimportant.

Trailing whitespace
Controls whether whitespace at the end of the line is unimportant.

Line endings
Controls whether line endings are unimportant. This can only be set if the "Line endings" General option is also set.

Blank lines
Controls whether lines with no text or only unimportant text are considered unimportant.

Custom
In addition to the settings above, you can mark certain categories of text as unimportant or string literals using custom classifications. To create a new classification use the [New] button.

Delimited
Mark all text from the start of the beginning delimiter to the end of the end delimiter as unimportant or a string literal. The delimited text can either continue until the end delimiter is found or it stop can at the end of the current line. The delimiters can not include wildcards or cross the end of a line, and they are case sensitive. The text between the delimiters can span multiple lines.

Escape Character
A single character that indicates that the character following it is not part of the end delimiter or an escape character. When a match for the end delimiter is found, the character immediately in front of it is checked. If that character is an escape character the scan continues looking for the next end delimiter match.

Regular Expression
Mark all text that matches the regular expression as unimportant or a string literal. The matched text cannot span multiple lines.

Columns
Mark all text within a column range as unimportant or a string literal. The first character on each line is in column 1, and the range is inclusive.

Page Headings
Mark a number of lines at the start of each "page" as unimportant or a string literal. The top of the file is the start of the first page. The remaining pages are separated by the form feed character.

String Literals
Text within string literals is considered important even if it would normally match one of the Unimportant Text classifications. For example, whitespace within a string literal is considered important even if "Embedded Whitespace" is checked.

The categories for string literals are the same as those for unimportant text. When matching lines against delimiters, the outer-most delimiter takes precedence, so a string within a comment is considered unimportant, and a comment within a string is considered important.

Just as with the Importance tab, you can amend the rules for String Literals. Clicking New allows you to specify text from any of the same four categories available for specifying unimportant text.

All other text is unimportant
Marks all text outside of string literals as unimportant. Normally any text that isn't unimportant or in a string literal is important. This setting marks that text as unimportant instead.


File Alignment Rules

The Alignment tab options are as follows:

Line Alignment
The line alignment settings control how matches and mismatches within the files are found.

Standard Method
Align the files by comparing smaller windows of each file. As good matches are found, the preceding alignment is shown, and the positions of the windows are updated. Since parts of the alignment can be shown before the entire alignment is finished, this option is especially good for large files.

Slider
This provides an easy way to set the "Skew Tolerance" and "Align Similar Lines" options.

Skew Tolerance
The number of lines in the comparison window. When comparing files with many inserts or changes a larger value can improve the alignment. When comparing files with a lot of matching text, changing this setting won't usually have a significant effect on the alignment.

Align Similar Lines
Compare mismatched lines and align modified but similar lines. When active, mismatches are given a weight based on their similarity, and the "best" matches are aligned even if they aren't exact matches. This setting can drastically improve the alignment of files with significant modifications, but it can increase the comparison time and/or produce invalid matches.

Alternate Method
Align the files by comparing both files completely using a different algorithm. This can give better matches in certain types of changes, such as large inserts or when the files contain a lot of repeating text. Since the files are compared all at once, larger file scans take much longer than the standard method, and the files are not displayed until the comparison is complete. It does not support similarity comparisons, so mismatches will be grouped in blocks.

Never align mismatches
Show mismatched lines as blocks of added and deleted text, rather than edits.

Character Alignment
After the line alignment is done, the matched lines are compared to show differences within each line.

Simple
Find the first and last difference on the line and mark everything between them as a mismatch. This method is faster than the standard method, but it produces lower quality alignments.

Standard
Line up matching characters then mark added, deleted, and changed characters as mismatches.

Column-based
Compare each character to the same position in the opposite line and mark matches and mismatches as appropriate.

Line Weights
Line weights affect the "Standard" line alignment method by encouraging or discouraging particular line alignments. Each pair of exact matches is given a particular weight, then the matches and ranges of matches with the highest weights are given preference. Runs of consecutive matches can count towards a single larger weight.

The default weight for lines with important text is 20, and the default for lines with only unimportant text is 10. If a match or range of matches reaches a weight of 5000 it is considered good enough and is immediately aligned. Weights of 500 or 1000 will strongly encourage a match while still allowing misalignments in extreme cases.

Expression
Regular expression representing the line weight. Any lines that match this expression will be given the associated weight. The expression does not need to match the entire line.

Weight
Weight that should be assigned to exact matches.

Note:
If you do not agree with a simple alignment choice, you can use the File Viewer to make minor alignment changes. To manually align two lines, right click the first one and select Align Manually then right click the other and select Align Manually.


File Conversion Rules

The Conversion tab options are as follows:

Conversion Type
Before performing a rules-based or visual comparison, Beyond Compare can perform different actions, such as converting the file to text or removing unnecessary information.

Detect Handled Types
Detect files that Beyond Compare can handle automatically. Since only binary Delphi DFM files have built-in support, they will be converted to and from text automatically while unsupported files will be passed through unchanged.

No Conversion
Disable automatic conversions.

Remove Rich Text Formatting
Remove font, layout, and other non-text information from rich text (RTF) files. Paragraphs will be word-wrapped based on the "Maximum Line Length" general setting. Non-RTF files will not be changed. This improves visual comparisons, but since information is lost during the conversion, editing is disabled.

External Program
Run an external conversion utility before loading the comparison and/or when saving changes.

Binary DFM conversion
Beyond Compare can detect binary Delphi form files (DFM) and will convert them to and from text automatically when comparing them. Files from Delphi 1-7 are handled automatically. If the format changes in a future release, put the path to Delphi's convert.exe here and BC will use it rather than BC's built-in support.

External Conversion
Use an external program to convert the file before it's compared and/or when it's saved. The variables %s and %t can be used to represent the "source" and "target" filenames. The converter should read the file from %s and write it to %t. Quotation marks will be added automatically if needed. The working directory will be Beyond Compare's installation directory, so path information isn't needed if the converter is stored in that directory.

Run when loading
Command line to run before the comparison takes place.

The simple case is where the converter takes a pair of filenames, such as "convert.exe %s %t".

To redirect standard input or standard output, create a batch file that BC will call, and the converter will be called from this batch file.

To use COM automation, use Windows Scripting Host. For an example, see the MSWord add-on rules on our website.

Read-only
Disable editing of the converted file.

Run when saving
Command line to convert the text version back into the original format.


Base Folders

Type the path for each base folder into the left and right edit controls, and press ENTER or click the Go [image] button.

In addition to regular folders, base folders can be FTP sites, zip files, or snapshot files.

You can also use these controls on the toolbar to load base folders:

Icon | Caption | Meaning
 | Go | Accept typed entry
 | Browse | Browse for folder, FTP site, zip file, or snapshot
 | Up One Level | Select the base folder up one level from where it currently is
 | Back | Go back to recently selected base folders
 | Forward | Go forward to recently selected base folders
 | Swap Sides | Switches base folders

You can also select one or two folders from the body of the Folder Viewer display, and use the Set as Base Folder feature.

You can only select files and subfolders that are visible. If you select a subfolder that is not expanded, BC selects all the files and subfolders inside this folder that would be visible if the folder was expanded.

See also
FTP Specification
FTP Settings


FTP Specification

You can type an FTP specification directly into either of the base path edit controls by using this syntax:

  ftp://username@ftp.hostname.com

The program will prompt for the password as needed. Or, you can include the password in the specification:

  ftp://username:password@ftp.hostname.com

Leave the username off for anonymous access:

  ftp://ftp.hostname.com

You can specify a folder relative to the login folder:

  ftp://username@ftp.hostname.com/subfolder

...or relative to the site's root folder:

  ftp://username@ftp.hostname.com//subfolder


FTP Settings

Open Options from the Tools menu and select the FTP tab to fine-tune various aspects of your FTP connections. These settings will affect all FTP connections made in Beyond Compare.

Your email address
When connection to anonymous FTP sites it is customary to include your email address as the password. Beyond Compare will send whatever is entered here as the password when connecting to anonymous FTP sites.

Filename Conversion
 Many FTP sites are case sensitive and treat files that have the same names but different case as separate entities. When uploading to FTP sites, Beyond Compare can modify the filename sent to correspond to certain naming conventions. You can select Don't Change, lower case, or UPPER CASE. These modifications will only take place if a file of the same name, regardless of case, is not found in the target folder already.

Link Resolution
 FTP sites can connect files together using symbolic "links" which point from one area of the site to another. These links do not specify whether they point to files or folders, so the following methods of resolving are available:

  • Fast Requires no extra transfers. Any link which has an extension (eg. '.txt') is considered a file and all others are considered folders.

  • Simple BC will attempt to change folders into every link as it encounters it. If that succeeds the link is considered a folder; otherwise it is considered a file.

  • Complete BC will use its internal representation of the FTP structure to determine what the target is. This will detect broken links and can require fewer operations than "Simple", but can get caught by recursive links.

Read Timeout
 Sets the timeout for downloading files. The operation will fail if no bytes are received within this time.

Local Cache
 In order to minimize the number of times Beyond Compare needs to download a file from the FTP site, it keeps a local copy of recently downloaded files. When attempting to download a new file, Beyond Compare will try to keep the cache size below this value. The cache is deleted when BC is closed, and individual files in it are deleted whenever they are changed on the FTP site.

LIST options
 Additional parameters for the LIST command. For instance, -al will show hidden items on some servers.

Fetch Timestamps
 Tries to fetch the file's last modified time in cases where the directory listing only reports the date. While this provides more accurate timestamp comparisons, it comes at the cost of some performance. It's not supported on all FTP servers.

Auto Reconnect
 Silently reconnects a timed-out connection when needed.

Hide VMS version numbers
 Only the most recent version of a file is included and will align with a local file. If this option is not selected, all versions of the file are included with their version numbers, and they will not align with local files.

Transfer Type
 FTP sites can transfer data in two ways: ASCII and Binary. ASCII is used to transfer text files which don't have any special characters. The FTP server will automatically make any adjustments to line termination needed in ASCII mode. Binary is used to transfer all other files, including pictures, music, Word documents, etc. In Binary mode, no changes are made to the file during the transfer.

Setting the transfer type to either Binary or ASCII will force all files to transfer that way. If the transfer type is Auto, Beyond Compare will automatically switch back and forth based on the file's extension. To change which files get transferred as ASCII, add and remove extensions from the Send As ASCII list.

Firewall / Proxy Settings
 If your FTP connection needs to go through a proxy server before connecting you should enter your data here. Beyond Compare supports both SOCKS 4 and 5. If you need help with these settings, consult your system administrator.

Passive Mode (PASV)
 Some firewall configurations require this setting, which modified the methods used to transfer data back and forth between your computer and the FTP server. Not all FTP servers support PASV mode. If the connection hangs, try turning this on.

Use Firewall
 Specifies that FTP connections should use FTP Proxy protocol. If you are not on a Local Area Network (LAN) or Wide Area Network (WAN), leave this option unchecked.


File Filters

With File Filters you specify the type of files you want to include in (or exclude from) the comparison. For instance, if you are comparing Delphi projects you could include file types such as *.pas, *.dfm, and *.dpr. Or, you could include all files except *.dcu and *.~* by excluding these file types.

To specify a simple "include these types" filter, use the Filters field on the toolbar. Enter the file types separated by semicolons, or use the dropdown to select from presets. Include a minus sign (-) in front of files to be excluded.

In addition to these simple wildcard filters, you can specify complex filters that include or exclude files or folders by name.

Files can also be filtered based on their timestamp, size, or file attributes. Folders can only be filtered based on their names, but are affected by the filtering of their contents.

On the View menu, the Suppress Filters [image] command allows you to temporarily suppress File Filters and Display Filters. Files and folders that were hidden will appear colored teal (blue-green).

File Filter specifications are part of a Session's settings and are saved with named Sessions.

See also
Filtering by Name
Filter by Date and Other Filters
Defining Filter Presets
Exclude Files or Folders


Defining Filter Presets

You can customize the list of predefined filters that appear in the drop-down Filters control on the toolbar.

  1. From the Tools menu click Options.
  2. On the Folder Viewer page, find the Filter Presets field and edit as needed.

Use simple wildcard definitions separated by semicolons. To include a description, be sure to enclose the filters in parenthesis. Example:

HTML source (*.htm;*.html;*.xml;*.jpg;*.gif)


Comparison Criteria

If you think about it, there are several ways to compare folders and files.

If you want a quick look at what has changed between two folders, it might be sufficient to just look at the dates and sizes of files. If you are validating a CD copy, then a byte-by-byte comparison of every file is important. If you are comparing versions of source code, perhaps you want to consider only significant changes and ignore differences in whitespace or comments.

The Comparison Criteria settings define how, overall, a session should compare folders. Criteria include file timestamps, sizes, attributes and contents.

These criteria are used to compare files, and not folders directly. For instance, a folder's timestamp does not affect the comparison. Folders are compared by aggregating the comparisons of files within them.

Certain facts about a file can be determined quickly while others take some time. File systems typically provide fast access to file names, sizes, and timestamps (the date and time last modified). But to get the CRC of a file, the entire file will need to be read. Keep this in mind when selecting folder comparison criteria.

See also
General Comparison Criteria
Advanced Comparison Criteria
Changing Comparison Criteria


Changing Comparison Criteria
  1. From the Session menu, select Comparison Control [image].
  2. On the General tab under Comparison Criteria, edit the settings as needed.

See also
Comparison Criteria


Reports Overview

Comparison reports allow you to save the information from a comparison to view later without re-running the comparison. These reports can be printed, saved in text or HTML, either to the clipboard or to a file. HTML can be viewed in your browser.

See also
Folder Comparison Reports
File Differences Reports


Keyboard Shortcuts

To change the keyboard shortcuts, see Defining Keyboard Shortcuts. The default Folder Viewer keyboard shortcuts are as follows:

Command | Shortcut
Copy to right | Ctrl+R
Copy to left | Ctrl+L
Rename | F2
Select All | Ctrl+A
Find Filename | Ctrl+F
Next Difference | Ctrl+N
Previous Difference | Ctrl+P
Refresh | F5
Full Refresh | Ctrl+F5
Back | Alt+Left
Forward | Alt+Right
Legend | Ctrl+Alt+L
Help | F1
Compare files in viewer or expand/collapse the current folder | Enter
Select "Compare to..." file or folder | Space
Expand current folder | Ctrl+Left
Collapse current folder or move to a parent folder if a file or closed folder is selected | Ctrl+Right

The default File Viewer keyboard shortcuts are as follows

Command | Shortcut
Save | Ctrl+S
Reload files | F5
Comparison Info | Ctrl+I
Exit | Esc
Undo | Ctrl+Z
Redo | Shift+Ctrl+Z
Copy to Right | Ctrl+R
Copy to Left | Ctrl+L
Edit Line | F2
Cut | Ctrl+X
Copy to clipboard | Ctrl+C
Paste | Ctrl+V
Select All | Ctrl+A
Next Difference | Ctrl+N
Previous Difference | Ctrl+P
Go to Line | Ctrl+G
Go to next different file | Ctrl+M
Next difference in line | Shift+Ctrl+N
Previous difference in line | Shift+Ctrl+P
Set Bookmark | Ctrl+K
Go to Bookmark | Ctrl+Q
Find | Ctrl+F
Replace | Ctrl+R
Find Next | F3
Find Previous | Shift+F3
Help | F1
Edit current line | Enter
Select "Manual Align" | Space


Defining Keyboard Shortcuts

To create your own keyboard shortcuts:

  1. Select Options from the Tools menu.
  2. Select Keyboard from the Options dialog.
  3. Select a menu command from the list of Commands.
  4. Press the desired keystroke.
  5. Click Apply.

To edit existing keyboard shortcuts:

  1. Select a menu command from the list of Commands.
  2. Press Delete.
  3. Press the desired keystroke.
  4. Click Apply.

The following keyboard shortcuts are fixed and cannot be changed:

Command | Shortcut | Location
Compare files or expand/collapse the current folder | Enter | Folder Viewer
Select "Compare to..." file or folder | Space | Folder Viewer
Expand current folder | Ctrl+Left | Folder Viewer
Collapse current folder or move to a parent folder if a file or closed folder is selected | Ctrl+Right | Folder Viewer
Edit current line | Enter | File Viewer
Select "Manual Align" | Space | File Viewer


Plug-in Overview

Plug-ins extend Beyond Compare's functionality by providing alternate file comparison windows, file parsing capabilities, or container handling. They allow us to extend Beyond Compare features without releasing an entirely new version.

For example, the Hex Viewer plug-in provides a side-by-side view of binary files, with differences highlighted.

Plug-ins only work with a registered copy of Beyond Compare. We have a variety of plug-in viewers, free to registered users, available on our website at:
www.scootersoftware.com/v2plugins

See also
Installing a Plug-in


Installing a Plug-in

To install a plug-in:

  1. Unzip the download file into the Beyond Compare program folder (by default, C:\Program Files\Beyond Compare 2).
  2. Restart BC and go to Tools | Options | Rules. The plug-in should appear in the "Plug-ins Loaded" section.
  3. Press the New button to create a new set of rules. In the "Select Handler" dialog, select the plug-in from the dropdown list.
  4. In the next dialog, enter a unique name for the rules set and enter the file extensions that you would like associated with the plug-in. Press OK.


Command Line and Scripting

You can add parameters to the command line of your Beyond Compare shortcuts to change how the program starts up or to execute a script.

Command Line Parameters

Parameter | Meaning
Named Session | Opens the specified session in the Folder Viewer. (eg. BC2.exe "MySession")
Pair of folders | Opens a new session in the Folder Viewer with the specified base folders using the default session settings. (eg. BC2.exe C:\Folder1 C:\Folder2)
Pair of files | Opens the specified files in the File Viewer. (eg. BC2.exe C:\File1.ext C:\Filer2.ext)
Script file | Automatically executes a list of commands without using a viewer. (eg. BC2.exe @C:\Script.txt)

See also
Command Line Switches
Scripts Overview
Scripting Reference
Sample Scripts
Automating a Script


Command Line Switches

You can add multiple switches to the command line of your Beyond Compare shortcuts to change their behavior.

Switch

Meaning

/expandall

Expands all folders when loading first session.

/fileviewer, /fv

Start in File Viewer mode.

/fileviewer=xxx, /fv=xxx

Start with plug-in viewer xxx
(eg. /fv="Hex Viewer").

/filters=xxx

Make initial filename filters xxx.
(eg. /filters=*.*)

/noedit

Disables editing files in the File Viewer.

/out=xxx

Deprecated. Produces a Folder Comparison or File Differences report with version 1 format xxx. Works with /expandall and /rules switches also.

/quickcompare, /qc

Performs a rules-based quick comparison and sets the DOS error level. Error levels are:

  • 0 = match
  • 1 = similar
  • 2 = mismatch
  • 3 = error

/quickcompare=xxx, /qc=xxx

Performs a quick comparison of type xxx, where xxx is size, crc, binary, or rules-based.

/readonly
/leftreadonly
/rightreadonly

Disabled all operations which affect a particular side or both sides (in File Viewer or Folder Viewer mode).

/rules=xxx

When opening the File Viewer, use rule xxx
(eg. /rules="Everything Else").

/savetarget=xxx

File Viewer's "Save" command will overwrite the specified file rather than the original file.
It's also supported as /mergeoutput=xxx.

/silent

Suppresses the scripting window and task bar entry.

/title1=xxx
/title2=xxx

Set title for file1 or file2 to xxx (in File Viewer mode). The title replaces the path edit's text when not editing it.


Scripts Overview

Use a script to run Beyond Compare from a command line, without the usual user interface. A script is a simple text file containing a list of commands which can control the program and automatically perform file operations.

Scripts run without displaying the usual Folder Viewer window, but might require input for certain confirmations. To execute a script, specify it on the command line with a leading '@' symbol, as in:

     BC2.exe @C:\BC2\MyScript.txt

At its most basic, a script is a simple series of commands. The shortest meaningful script would be something like:

     load "C:\Windows\Temp"
     select all
     delete all

which deletes all files and folders in the Windows "Temp" folder.

Scripts essentially manipulate an invisible folder comparison: File operations require selections, the "display" can be limited with filters, and folders can be "expanded" to recurse into them.

Scripts are processed line by line, with a single command per line. Case, blank lines and comments (anything after a '#') are ignored. Arguments are separated by spaces; to include a space in an argument, surround the argument with quotes ("). To continue a long command on a second (or third) line, add an ampersand (&) at the end of every line but the last.

In addition to the standard commands, command line parameters and environmental variables can be inserted into the script at run time. Command line variables are specified by a percent sign (%) and a single number from 1-9. The script name and command line switches starting with / are not included in the 1-9 list. The scripting command:

     load "%1"

would load whatever session was given on the command line, as in "BC2 @script.txt MySession".

Environmental variables are inserted by enclosing the variable name in percent signs, and are case sensitive. The following performs the same as the earlier script, except it gets the folder from the environment:

     load "%TMP%"
     select all
     delete all

There are also two dynamic variables that Beyond Compare can fill in at each line of the script, %date% and %time%. The %date% variable fills in the current date in the format yyyy-mm-dd. The %time% variables format depends on your computer's regional settings.

See also
Scripting reference
Sample scripts


Scripting Reference

These are the script commands (in alphabetical order):

ATTRIB BEEP COLLAPSE COMPARE COPY COPYTO CRITERIA DELETE EXPAND FILE-REPORT FILTER FOLDER-REPORT LOAD LOG MOVE OPTION RENAME REPORT SELECT SNAPSHOT SYNC TOUCH

ATTRIB

Usage:
attrib (+|-)<attrib set 1> [(+|-)<attrib set 2> <...>]

Sets (+) or clears (-) the attribute set of items in the current selection. An attribute set can include archive (a), system (s), hidden (h), and read only (r) attributes.

Examples:
attrib +h
attrib +sh -a

BEEP

Usage:
beep

Beeps the PC speaker.

COLLAPSE

Usage:
collapse all
collapse <path> [<path> [...]]

Collapses all folders or folders with specified paths. Paths are relative to the base folder and can not have wildcards.

Example:
collapse "Folder 1" Folder2\SubFolder

COMPARE

Usage:
compare [CRC|binary|rules-based]

Compares the contents of the current selection using the compare type. By default, the most recent compare type is used.

This command only compares files once. To change how files are compared after modification, use criteria.

COPY

Usage:
copy (lt->rt|rt->lt)

Copies the selected files/folders in the direction indicated.

COPYTO

Usage:
copyto (lt|rt|all) [path:(relative|base|none)] <path>

Copies the selected files/folders on the specified side to the specified path using the path option. By default, path:none is used.

CRITERIA

Usage:
criteria [attrib:<attrib set>] [version] \
         [timestamp[:[#sec][;IgnoreDST]]] \
         [size|CRC|binary|rules-based] \
         [timezone:(ignore|(lt|rt)(+|-)<0..12>)]

Sets all comparison criteria settings.

  • attrib enables comparisons of the specified attribute set.
  • version enables comparisons of version information common in exes and dlls.
  • timestamp enables timestamp comparisons.
    • #sec considers differences within a tolerance of seconds as matches.
    • IgnoreDST considers differences of exactly 1 hour as matches.
  • size, CRC, binary, and rules-based are the possible ways to compare contents.
  • timezone ignores timezone differences or applies timezone offset to the specified side.
Example:
criteria attrib:sh timestamp:2sec;IgnoreDST rules-based timezone:lt+6

DELETE

Usage:
delete [recyclebin=(yes|no)] (lt|rt|all)

Deletes the currently selected files/folders on the specified side(s).

EXPAND

Usage:
expand all
expand <path> [<path> [...]]

Expands all folders or folders with specified paths. Paths are relative to the base folder and can not have wildcards. Folders must be expanded in order for their contents to be used by other commands, like select.

FILE-REPORT

Usage:
file-report layout:<layout> [options:<options>] \
            output-to:(printer|clipboard|<filename>) \
            [output-options:<options>] [<filename1> <filename2>]

Generates a file comparison report of the currently selected files.

  • layout controls the reports appearance, and can be any of over-under, side-by-side, composite, patch, statistics, or xml.
  • options is optional, and is used differently for each layout.
    • ignore-unimportant treats differences in unimportant text as matches and is available in all layouts.
    • display-all, display-mismatches, display-context, or display-matches can be used to control which lines of the comparison are included in the report and are available in all layouts except patch and statistics. By default, display-all is used.
    • line-numbers includes line numbers in the side-by-side layout.
    • stats-descriptive or stats-tabular (CSV) formats are available in the statistics layout. By default, stats-descriptive is used.
    • patch-standard, patch-context, patch-unified, or patch-classic formats are available in the patch layout. By default, patch-standard is used.

Both file-report and folder-report must include information on where the report should be sent, and may include additional information on the output format.

  • output-to controls the output target. It can be printer, clipboard, or a filename.
  • output-options is optional and is used differently for each output target.
    • print-color or print-mono color schemes are available for printer output.
    • print-portrait or print-landscape orientations are available for printer output. By default, print-portrait is used.
    • wrap-none, wrap-character, or wrap-word word wrapping are available for printer output for file-report only. By default, wrap-none is used.
    • html-color, html-mono, or html-custom=<filename> stylesheets are available for clipboard and file outputs. If html-custom is used it should include a URL or path, which will be used as the HTML's external style sheet.
Examples:
file-report layout:over-under options:display-context output-to:printer &
            output-options:print-color,wrap-word
file-report layout:patch options:ignore-all,patch-unified &
            output-to:"reports\report.txt"

FILTER

Usage:
filter <file masks>
filter cutoff:([<|>](<timestamp>|#[days])|none)
filter attrib:((+|-)<attrib set>|none)

Controls which folders and types of files that are compared using name filtering (file masks), date filtering (cutoff), or other filtering (attrib).

  • Name filters include and exclude files and folders based on their names and paths. Multiple masks can be separated by semicolons. To indicate that a mask is an exclude mask use a leading minus (-). To indicate that a mask affects folders use a trailing backslash (\).
  • cutoff excludes all files older (<) or newer (>) than a timestamp or a number of days from the current system date (#days). By default, cutoff:< is used. none can be used to remove date filtering. The date parsing is fairly lenient, but if you want to be sure it parses correctly, use the format specified by the operating system's regional settings. (See Control Panel -> Regional and Language Settings.) The time is optional, and should follow the date (cutoff:"01/01/2001 12:00pm"). Remember to use quotation marks (" ") whenever a term contains a space.
  • attrib limits the comparison to files which have an included attribute (+) and don't have an excluded attribute (-). none can be used to remove attribute filtering.
Examples:
filter "*.pas;*.dpr;*.dfm"
filter cutoff:<7days
filter cutoff:>"Jan 1, 2001"
filter cutoff:"01/01/2001 12:00pm"
filter attrib:-sh
filter "*.txt;-Recycle Bin\" attrib:+r

FOLDER-REPORT

Usage:
folder-report layout:<layout> [options:<options>] \
              output-to:(printer|clipboard|<filename>) \
              [output-options:<options>]

Generates a folder comparison report of the currently loaded base folders. Folders are shown in their current state. To include subfolders add an expand all command before this.

  • layout controls the reports appearance, and can be side-by-side, summary, or xml.
  • options is optional.
    • Display filter flags control which files are included in the report. The possible values are display-all, display-mismatches, display-no-orphans, display-mismatches-no-orphans, display-orphans, display-left-newer, display-right-newer, display-left-newer-orphans, display-right-newer-orphans, and display-matches. By default, display-all is used.
    • Optional columns can be included in the report by using the flags column-version, column-size, column-crc, column-timestamp, and column-attributes. By default, column-size and column-timestamp are included. column-none can be used by itself to clear the default columns.
  • output-to and output-options arguments are documented under file-report.
Examples:
folder-report layout:side-by-side,column-size,column-version,column-timestamp &
              output-to:clipboard output-options:html-color
folder-report layout:xml output-to:"C:\Folder Report.xml"

LOAD

Usage:
load <session>
load <left path> [<right path>]
load <default>

Loads the specified session, the specified base folders, or the Default Session Settings (load <default>). Failure to load a base folder will cause the script to terminate.

  • Loading a session causes all that session's settings, except the display filter, to be used.
  • Loading base folders uses the currently active settings. By default, the program defaults are used.
Examples:
load MySession
load c:\project x:\project

LOG

Usage:
log [none|normal|verbose] [[append:]<filename>]

Controls how detailed the log is and where the log is stored.

  • none, normal, and verbose determine the amount of detail used in the log. Logging is initially disabled and begins when the mode is changed from none.
  • append: causes logging to add to the file instead of replace it. By default, the log is output as Log.txt in the current system folder.

MOVE

Usage:
move (lt->rt|rt->lt)

Moves the selected files/folders in the direction specified.

OPTION

Usage:
option stop-on-error
option confirm:(prompt|yes-to-all|no-to-all)

Adjusts script processing options.

  • stop-on-error makes the script watch for various error conditions, including file operation errors, and when one occurs prompts the user before continuing.
  • confirm can use prompt, yes-to-all, or no-to-all to handle confirmation dialogs that occur due to file operations. By default, prompt is used.

RENAME

Usage:
rename [regexpr <old mask>] <new mask>

Performs a multi-file rename on the current selection using the specified new mask. regexpr uses an old mask to perform a "Regular Expression Rename". By default, a "DOS Rename" is performed.

REPORT (deprecated)

This command has been deprecated and will not be updated to support new reporting features. Use FILE-REPORT or FOLDER-REPORT instead.

Usage:
report format:<format> \
       output:(<printer>|<clipboard>|<filename>)[;<options>] \
       [<filename 1> [<filename 2>]]

Produces a Folder Comparison report or a File Differences report in the specified format and sends it to the output location specified. Folder Comparison reports will always use the currently loaded base folders. File Difference reports will report on the files specified, otherwise it will report on all currently selected files.

The various format codes are listed here.

The report can be directed to the default printer, the clipboard, or to a specific file. <printer> and <clipboard> are keywords, including the angle brackets.

The options for output:<printer> are:
p portrait mode (default)
l landscape mode
c color output

For output:<clipboard> or output:<filename>, use the h option to specify HTML output.

Examples:
load "C:\Website" "ftp://mywebsite.com/"
report format:50n output:Report.html;h
report format:03d output:<printer> C:\Sample\File1.txt C:\Sample\File2.txt

SELECT

Usage:
select <select mask 1> [<select mask 2> <...>]

Select controls which files and folders can be operated on. Only files and folders that match at least one of the selection masks are part of the selection. A selection mask has the format, [<side>.][<difference>.]<item>.

  • A side (left or lt, right or rt, all) limits the selection to the specified side. By default, all is used.
  • A difference (exact, diff, newer, older, orphan, all) limits the selection based on results of comparison. diff refers to differences in criteria other than timestamps. Use newer or older instead. Folders must contain only the specified result type to be affected. By default, all is used.
  • An item (files, folders, all) limits the selection to files, folders, or both.

empty.folders is a special selection mask that will select empty folders.

Examples:
select lt.files rt.orphan.folders
select all

SNAPSHOT

Usage:
snapshot [save-crc][save-version][expand-archives][no-filters] \
         lt|rt|path:<path> [output:<target>]

Saves a read-only snapshot of the specified folder.

  • save-crc calculates CRC's for all files and stores them as part of the snapshot.
  • save-version stores version information for executable files.
  • expand-archives stores the contents of archive files in an expanded format.
  • no-filters stores all files regardless of the active filename filters.
  • lt, rt, and path indicate which folder is stored. lt and rt will save a snapshot of one of the loaded base folders, and path will save a snapshot of a specified path.
  • output is optional and determines where the snapshot will be saved. By default, it will be saved in the current folder.
    • If target is a fully qualified filename, that will be the name of the snapshot. If target doesn't have an extension, .bcss will be used.
    • If the target isn't included or refers to a folder a filename will be generated based on the source folder's name and the current system date, eg folder_2000-12-31.bcss. If necessary an additional number will be added to the generated name to keep it from overwriting existing snapshots.
Examples:
snapshot save-crc save-version no-filters path:C:\ output:D:\
snapshot lt output:"Home Copy.bcss"

SYNC

Usage:
sync [visible][create-empty] (update|mirror):(lt->rt|rt->lt|all)

Uses the Synchronize Folders engine to update a pair of folders. This command does not use the current selection.

  • visible enables "Only affect visible files" behavior. Only files in expanded folders will be affected.
  • create-empty enables the "Create empty folders" behavior.
  • update copies newer and orphan files in the indicated direction, leaving orphans and newer files on the opposite side unchanged. Using all as the direction indicates a bidirectional sync, and copies newer and orphan files in both directions.
  • mirror makes the target folder identical to the source one. Newer, older, different, and orphaned files are all copied to the destination, and orphans in the destination are deleted. The all direction doesn't apply in this context, and is not valid.
Example:
sync create-empty mirror:lt->rt

TOUCH

Usage:
touch (lt->rt|rt->lt)
touch (lt|rt|all):(now|<timestamp>)

Copies the timestamps from files on one side to the other, or sets the timestamps of all files on a specified side to the current system time (now) or a specified timestamp. You must select files before you can touch them.


Sample Scripts

Here is a basic script which copies all of the newer and orphaned files from one folder to another, using a previously created session:

  load "Sync Laptop"
  expand all
  select left.newer.files left.orphan.files
  copy left->right

Here is a more advanced script which syncs two specific folders using advanced filters. This works the same as loading the folders in the Folder Viewer and performing a "Mirror Left to Right" folder synchronization.

  # Turn logging on
  log normal "C:\My Documents\Webpage\Synclog.txt"
  # Load the default session and exclude all but certain file types
  load <default>
  filter "*.html;*.htm;*.png;*.jpg"
  # Load the base folders
  load "C:\My Documents\Webpage" "ftp://user@ftp.some-isp.com/webroot"
  expand all
  # Copy left newer, different, and orphans to FTP site
  select lt.newer.files lt.diff.files lt.orphan
  copy lt->rt
  # Delete any orphaned files on FTP site
  select rt.orphan
  delete rt


Regular Expressions

Regular Expressions are a powerful way to define patterns for searching and matching. Beyond Compare allows you to use regular expressions when searching through text, and when specifying rules for classifying text. The regular expression support in Beyond Compare is a subset of the Perl Compatible Regular Expression (PCRE) syntax.

While Regular Expressions can be a complex topic, there are several excellent resources about them. One such resource is a book called Mastering Regular Expressions. Another excellent resource is A Tao of Regular Expressions, and it can be found at:
http://sitescooper.org/tao_regexps.html

A regular expression is composed of two types of characters: normal characters and metacharacters. When performing a match, metacharacters take on special meanings, controlling how the match is made and serving as wildcards. Normal characters always match against only themselves. To match against a metacharacter, 'escape' it, by prefixing it with a backslash '\'. There are multiple types of metacharacters, each detailed below.

Metacharacters - Escape Sequences

Escape Sequence | Meaning
\xnn | character with the hex code nn
\x{nnnn} | character with the hex code nnnn
\t | tab (0x09)
\n | newline (0x0A)
\r | carriage return (0x0D)
\f | form feed (0x0C)
\a | bell (0x07)
\e | ESC (0x1B)

Metacharacters - Predefined classes

Predefined character classes match any of a certain subset of characters. The following classes are already defined for you.

Class | Meaning
. | match any character
\w | any alphanumeric character or _
\W | any non-alphanumeric character
\d | any numeric character (0-9)
\D | any non-numeric character
\s | any whitespace (space, tab, carriage return)

You can also construct your own character classes by surrounding a group of characters in brackets "[]". The predefined classes (except '.') can be used in the brackets, and if a dash '-' appears between two characters, it represents a range. Thus [a-z] would represent all lowercase letters, and [a-zA-Z] would represent both lower and uppercase letters. To include a '-' as part of the class, place it at the beginning or end of the string.

If the first character within the brackets is a caret "^", then the class represents everything except the specified characters. [^a-z] matches on any character that isn't a lower-case alphabetic character.

Metacharacters - Alternatives

By placing an "|" between two groups of items, alternative matches can be represented. a|b will match either a or b. ab|cd will match "ab" or "cd", but not "ac". "|" groups characters from pattern delimiter ("(", "[", or the start of the pattern) to itself and then again to the end of the pattern. Alternatives can be placed within parenthesis "()" to make it obvious what is being matched against, as in a(bc|de)f. Alternatives are matched left to right; bey|beyond will match on bey, even if the string is "beyond".

Metacharacters - Position

The following metacharacters control where the match can occur on a line. Note: \A and \Z match the start and end of text respectively, but since Beyond Compare performs the search on a line by line basis, these have the same effect as ^ and $.

Metacharacter | Meaning
^ | match only at start of line
$ | match only at end of line

Metacharacters - Iterators

Anything in a regular expression can be followed by an iterator metacharacter, which refers to the item before it. There are two kinds of iterators - greedy and non-greedy. Greedy iterators match as many as they can, non-greedy match as few as they can.

Greedy:

Metacharacter | Meaning
* | match zero or more of the preceding character (equivalent to {0,})
+ | match one or more of the preceding character (equivalent to {1,})
? | matches zero or one times (equivalent to {0,1})
{n} | matches exactly n times (equivalent to {n,n})
{n,} | matches n or more times
{n,m} | matches at least n but no more than m times

Non-greedy:

Metacharacter | Meaning
*? | matches zero or more times
+? | matches one or more times
?? | matches zero or one time
{n}? | matches exactly n times
{n,}? | matches at least n times
{n,m}? | matches at least n but no more than m times

Metacharacters - Subexpressions

Parenthesis "()" can also be used to group characters for use with iterators and backreferences (discussed below). (bey){4,5} will match between 4 and 5 instances of "bey". (abc|[0-9])* will match any combination of "abc" and the digits 0 to 9. Eg. "abc5", "679abc" and "abc77abc".

Metacharacters - Back References

Each sequence of characters which is matched within a "()" will be saved as a subexpression, which you can refer to later with \1 to \9, which refer to the subexpressions from left to right. b(.)\1n will match "been" and "boon", but not "bean", "ben" or "beeen".

Modifiers

Modifiers allow changes to the matching behavior from that point on. If the modifier is contained within a subexpression, it affects only that subexpression. Use (?i) and (?-i) to control the case sensitivity of matching.

Examples:

(?i)Beyond Compare | matches both "Beyond Compare" and "beyond compare"
(?i)Beyond (?-i)Compare | matches "Beyond Compare" and "bEyOnD Compare", but not "beyond compare"

See also
Searching for Text
Regular Expressions Rename
Sample Regular Expressions


Regular Expressions Rename

To rename files using Perl-compatible Regular Expressions, select a file in the Folder Viewer and select Rename [image] from the Actions menu. Select the Regular Expressions from the Rename dialog. In the Old Name field, enter a regular expression that is matched against the original filename. In the New Name Field, enter a template used to generate a new filename.

A template is the expression used with the regular expression defined in the old name field to create a new filename.

Example - Partial Name Change:

If "ABCDEF" is the file name, and you want to change "CD" to "HJ", enter "CD" in the Old Name field and "HJ" in the New Name field. The new filename will be "ABHJEF".

Example - Complete Name Change:

If "Beyond" is the file name, and you want to change it to "Scooter", enter ".*" in the Old Name field and "Scooter" in the New Name field.

You can also change the filename by entering "Beyond" in the Old Name field and "Scooter" in the New Name field. However, for simple renames, it's easier to use a DOS Rename.

Example - Changing a group of filenames

If you have a group of text files with six-letter names, and you want to swap the first three and the last three letters, enter "(...)(...).txt" in the Old Name field and "$2$1.txt" in the New Name field. In this case, "beyond.txt" becomes "ondbey.txt".

Another example is if you have a group of music files that are titled "Artist-Song" and you want to change them to "Artist - Song", enter "-" in the Old Name field and " - " in the New Name field.


Sample Regular Expressions
Expression | Meaning
^abc | Match "abc" at beginning of line
abc$ | Match "abc" at end of line
^abc$ | Match the line "abc" exactly
^\s*abc | Match "abc" at beginning of line, but allow leading whitespace
^\s*end;?\s*$ | Match a line containing only "end" or "end;" with leading or trailing whitespace
abc|def | Matches either "abc" or "def"
a(b|c)d | Matches "abd" or "acd"
a(b|c)d\1 | Matches "abdb" or "acdc", but it does not match "abdc"

Control characters used in above samples

Character | Meaning
^ | Beginning of line
$ | End of line
\s | Whitespace (a tab or space)
* | Zero or more of the preceding character
? | Preceding character is optional
| | Alternative expression
( ) | Subexpressions
\n | Number back reference

See also
 Regular Expressions


Managing Stored Settings

Beyond Compare stores user preferences, rules, and sessions. These settings can be shared with multiple users and multiple machines. In the Tools menu, choose Export Settings to save all desired settings as a file and Import Settings to load them from a settings file.

Default Settings Locations
User preferences (eg. Display settings, Keyboard shortcuts) are stored in the Registry under the key:
HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare

Rules and sessions are stored as Rules.bcru and Session.bcse in a "Scooter Software\Beyond Compare" subfolder of the Application Data folder. The location of this folder depends on your version of Windows. For instance, under Windows 2000/XP it would be:
C:\Documents and Settings\<username>\Application Data

Single-Directory Mode
You can force Beyond Compare to store all settings in the same folder as the program (by default, "C:\Program Files\Beyond Compare 2") by creating an empty file named BC2.ini in the program folder. You can manually copy the rules and sessions files to the program folder.

See also
Moving BC to Another Computer
Sharing Registered BC on a Network
Shared Sessions


Moving BC to Another Computer

To copy or move Beyond Compare to a different computer, we recommend that you rerun the install program and re-enter your registration key.

If you have BC 2.1 or later on the old computer:

  1. Run BC on the old computer and choose Export Settings from the Tools menu to save all desired settings in a file.
  2. Copy this settings file to the new computer.
  3. Run BC on the new computer and choose Import Settings from the Tools menu to load the settings file.

If you have BC 2.0 on the old computer:

To keep your session and rules definitions, copy the files named Session.bcse and Rules.bcru. These are located in your Application Data folder (see Managing Stored Settings).


Sharing Registered BC on a Network

Follow these steps to distribute a registered Beyond Compare to users on your network:

  1. Place a copy of the BC2 setup program (eg. beycomp.exe) on your network.
  2. Create a text file named "BC2.key" in that same network location and paste your license key into it. Also, copy any plug-ins (*.bcp) that you want users to have into this same folder.

When a user runs the setup program from this location, it will automatically copy the license key file to their system and BC will be registered.

If you like, have users run the setup program with the switch "/silent". There will be a single confirmation and then Beyond Compare will install without interaction.

Setup Program's Command Line Options

We use Jordan Russell's Inno Setup (www.innosetup.com) for the setup program. Here is the complete documentation for command line switches:

/SP-
Disables the "This will install... Do you wish to continue?" prompt at the beginning of Setup.
/SILENT, /VERYSILENT
Instructs Setup to be silent or very silent. When Setup is silent the wizard and the background window are not displayed but the installation progress window is shown. When a setup is very silent this installation progress window is not displayed. Everything else is normal so for example error messages during installation are displayed and the startup prompt is shown (if you haven't disabled it with the '/SP-' command line option explained above).

If a restart is necessary and the '/NORESTART' command isn't used (see below) and Setup is silent, it will display a "Reboot now?" messagebox. If it's very silent it will reboot without asking.
/NOCANCEL
Prevents the user from cancelling during the installation process, by disabling the Cancel button and ignoring clicks on the close button. Useful along with /SILENT.
/NORESTART
When combined with /SILENT or /VERYSILENT, instructs Setup not to reboot even if it's necessary.
/LOADINF="filename"
Instructs Setup to load the settings from the specified file after having checked the command line. This file can be prepared using the '/SAVEINF=' command as explained below. Don't forget to use quotes if the filename contains spaces.
/SAVEINF="filename"
Instructs Setup to save installation settings to the specified file. Don't forget to use quotes if the filename contains spaces.
/DIR="x:\dirname"
Overrides the default directory name displayed on the Select Destination Directory wizard page. A fully qualified pathname must be specified.
/GROUP="folder name"
Overrides the default folder name displayed on the Select Start Menu Folder wizard page.
/NOICONS
Instructs Setup to initially check the "Don't create a Start Menu folder" check box on the Select Start Menu Folder wizard page.


Technical Support

Registered users are entitled to prompt email support. We are also happy to support unregistered users while they are evaluating the software.

Please send any comments, suggestions or bug reports to:
support@scootersoftware.com

For the latest version of Beyond Compare and for other news about the program, visit our web site at:
www.scootersoftware.com

To access our Knowledge Base articles, visit our knowledge base at:
www.scootersoftware.com/kb

See also
Frequently Asked Questions
Problem Reports


Frequently Asked Questions

How do I compare files with different names?
Can I compare Microsoft Word or Excel documents with Beyond Compare?
I know these text files are the same, so why does BC say they're different?
How do I get BC to use my favorite settings for new sessions?
Why are my files different after I upload them to my website?
Why can't I open xyz.cab or xyz.exe as an archive?
How do I integrate Beyond Compare with the xxx version control system?

How do I compare files with different names?
Right-click on the first file and pick "Compare To..." from the popup menu. Then click on the second file. They can be on the same side or different sides of the folder comparison.

Or, in the Windows Explorer, right-click on the first file and pick "Select left side to compare" from the popup menu. Right-click the second file and pick "Compare to ...".

Back to top

Can I compare Microsoft Word or Excel documents with Beyond Compare?
Beyond Compare cannot handle either Word or Excel files natively, and will display garbage if you try to open either .doc or .xls files in the File Viewer. However, Beyond Compare 2.1 can automatically use Word to convert .doc files to temporary text files before comparison. The results will not include font information, page headers, etc, so we do not support editing the resulting comparison. For an example of using Word from Beyond Compare, download the MS Word rules set from www.scootersoftware.com/morerules.

Back to top

I know these text files are the same, so why does BC say they're different?
It's likely that they have some difference in line terminations, so doing a binary comparison will show a mismatch even though the actual text is the same. For instance, Windows puts CR and LF control characters at the end of each line, while Unix uses LF alone. Files that have been copied or edited on different systems can end up with different styles. (The plug-in Hex viewer is handy for identifying exactly what's different in this case.) If you select the "Rules-Based Comparison" option (in Comparison Control), then content comparisons will use the same rules as the File Viewer.

Back to top

How do I get BC to use my favorite settings for new sessions?
When you have BC setup how you like, choose "Set Default" from the "Sessions" menu. Then click on "Set current settings as defaults".

Back to top

Why are my files different after I upload them to my website?
There are two common reasons why files will be different immediately after uploading them:

(1) The files have changed size.
Text files (HTML, source code, etc) can be stored in a slightly different format on FTP sites, and that can make the file sizes increase or decrease by a small percentage. Beyond Compare's File Viewer and rules-based comparison both handle these differences, but a size-only comparison can not. Beyond Compare can't detect this directly, so to make the files match you'll need to use a rules-based comparison or turn off size comparisons and rely on the files' dates.

(2) It wasn't possible to set the file's date.
Not all FTP sites support changing the date on uploaded files. When this happens the file's date will instead be the time that you uploaded it. In many cases you can work around this by setting the "Touch local files when copying to an FTP site" option in the "Comparison Control" dialog. After you upload the file Beyond Compare will copy the date from the FTP site and update the local file, and the files will match next time you compare them.

Back to top

Why can't I open xyz.cab or xyz.exe as an archive?
There are several incompatible types of files that use the .CAB extension. Beyond Compare only supports the Microsoft Cabinet format, and will not be able to open the other types.

A related issue is self-extracting CABs. These are similar to self extracting zip files, and can be opened in WinZip. Beyond Compare cannot currently understand these files and will refuse to open them.

Back to top

How do I integrate Beyond Compare with the xxx version control system?
You can set up most version control systems to call Beyond Compare to compare files. We have information on setting up particular ones at www.scootersoftware.com/vcs.

Back to top


Problem Reports

If you have found a problem with Beyond Compare, we would like to hear from you!

From the main Folder Viewer window, select Support from the Help menu, and follow the instructions to produce a report of your program and system settings. Paste the report in an email to us, and include a description of the problem.

You may want to include a screenshot that illustrates the problem. If you do, follow these steps to make one small enough to email:

  1. Press ALT+PrintScreen to place a snapshot of the current window on the clipboard.
  2. Open the Microsoft Paint program (Start -> Programs -> Accessories -> Paint) and press CTRL+V to paste the image.
  3. Select the part of the image that you would like to send.
  4. Pick Copy To from the Edit menu, change Save as Type to either 16 Color or 256 Color, and enter a filename.
  5. If possible, use a zip utility to compress the image file.
  6. Attach the image file to your email to us.


Ordering and Licensing Beyond Compare

The single user license fee for Beyond Compare is US$30. We have discounted pricing for multi-user site licenses.

For instructions on ordering a license, please visit our on-line shop at:
http://www.scootersoftware.com/buynow

If you need help ordering Beyond Compare, contact:
sales@scootersoftware.com

Our mailing address is:
Scooter Software
2828 Marshall Court, #208
Madison, WI 53705-2276
USA

See also
License Agreement
INDY License Agreement


License Agreement

You should carefully read the following terms and conditions before using Beyond Compare. Unless you have a different license agreement signed by Scooter Software, your use of this software indicates your acceptance of this license agreement and warranty. If you do not accept these terms you must cease using this software immediately.

Copyright
Beyond Compare ("the Software") is copyright © 1996-2004 by Scooter Software Inc., all rights reserved.

Evaluation and Registration
This is not free software. You are hereby licensed to use the Software for evaluation purposes without charge for a period of 30 days. If you use the Software after the 30 day evaluation period a registration fee as described in the documentation is required. Unregistered use of the Software after the 30-day evaluation period is in violation of U.S. and international copyright laws.

One registered copy of the Software may either be used by a single person who uses the software personally on one or more computers, or installed on a single computer used by multiple people, but not both.

An organization may purchase a multi-user site license amounting to either the number of individuals who have access to the Software on any number of computers, or the number of computers that will access the Software by any number of individuals. A site is defined as all company locations within a 100 mile radius. Site licenses do not cover subsidiary companies, or customers of a company.

Distribution
Provided that you do not include your License Key you are hereby licensed to make copies of the Software; give exact copies of the original to anyone; and distribute the Software in its unmodified form via electronic means. You are specifically prohibited from charging for any such copies.

Governing Law
This agreement shall be governed by the laws of the State of Wisconsin.

Disclaimer of Warranty
THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO REFUND OF PURCHASE PRICE.


Indy License Agreement

Beyond Compare uses Internet Direct (Indy) for its FTP functionality. The following statements are provided on behalf of the Indy authors:

Copyright
Portions of this software are Copyright (c) 1993 - 2004, Chad Z. Hower (Kudzu) and the Indy Pit Crew - http://www.IndyProject.org/

License
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation, about box and/or other materials provided with the distribution.
  • No personal names or organizations names associated with the Indy project may be used to endorse or promote products derived from this software without specific prior written permission of the specific individual or organization.

THIS SOFTWARE IS PROVIDED BY Chad Z. Hower (Kudzu) and the Indy Pit Crew "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Configuring "Open with" Application

To configure additional applications to appear in the Open With submenu, pick Options from the Tools menu, and select the Open With page. Click New to add or Edit to change an application. Click Advanced to expose additional options.

Enter a name in the Description field to appear on the Open With menu.

Enter a suitable Command Line specification for launching the application. It can include command line switches appropriate to that application. The following variables will be replaced with the indicated information:

%f filename and path

%l (lowercase L) current line number in File Viewer

%n Filename only

%p Absolute Path

%x Extension (includes '.')

%b Basename (Filename w/o Extension)

%F Name and path relative to the Working Directory

%P Path relative to the Working Directory

'1' and '2' can be appended to the end of variables to refer to the left/first or right/second file (eg. "BC2 %F2 %F1"). In all cases except for a second %f or %l (for backwards compatibility), leaving a number off will refer to the first file no matter how many times it's listed on the command line.

The Working Directory field allows you to change where the program executes. If it is blank, the program is executed in the same working directory as BC2. It can set a specific directory, or to the special values <parent folder> and <base folder> in the dropdown list. <parent folder> will use the selected file's parent folder and <base folder> will use the base folder of the selected side (or the parent folder in File Viewer Only mode).

Use the Path Delimiter field to replace all path delimiters with the given string. The default is backslash (\).

The Accepts option controls whether the application should be available for files, folders, or both. Tip: You can configure Beyond Compare itself as an additional application for folders. That way, you can select folders and compare them in another instance of Beyond Compare.

Refresh When Finished performs a Fast Refresh when BC is done processing the Open With list.

When the Multiple Instances option is enabled, you can select multiple files or file pairs, and execute the operation on all of them once per file or pair of lined up files. With this option, BC checks to see if a second file would be given on the command line (eg. "%x2"). If it is, the application will execute on pairs at a time, otherwise it will break the pair up and execute once for each selected item in the pair.

Wait For Previous Instance To Finish makes BC wait until the previous program finishes executing before running the next command.


Configure the toolbar

Configure Toolbars

The toolbars in Beyond Compare are easily customized to suit your taste. You can drag the handle at the left of each toolbar to reposition it, or to tear it away as a "floating" toolbar.

On the View menu, click Toolbars and then check or uncheck the various toolbar names to show or hide those toolbars. Notice that the Display Filters toolbar in the Folder Viewer is represented by three different styles: Dropdown, Composite or Component.

To customize the toolbars further, from the View menu click Toolbars and then Customize. In the Customize Toolbars dialog, select a toolbar from the list. Check the box next to each button that you want to appear, and uncheck those that you want to hide. To show captions along with icons on the toolbar, enable the Large buttons with text labels option.

To lock your toolbars in position, first arrange them as desired and then in the Customize Toolbars dialog, switch the Toolbar Positions option from Draggable to Locked.


The Daylight Saving Time Problem

When comparing files from different file systems, you may notice timestamps that are exactly one hour different, particularly when Daylight Savings Time (DST) starts or ends.

Under NTFS (and some other file systems) file timestamps are stored in "file time" and translated to local "system time" by a formula based on the timezone, and whether or not DST is in effect. Twice per year when DST starts or stops, the formula changes - but the same formula is used for dates before and after the time change. Therefore, if before the time change you made note of a timestamp on a file on your server and you looked at it again today, you'd see that the timestamp appears to have jumped forward or backward one hour.

The FAT file system used by Windows 95/98 works in the opposite manner. Timestamps are stored as is and aren't affected by the timezone or DST. (When a program asks for the file's "file time", Windows fakes the answer by reversing the above formula.) So, the reported timestamp does not "jump" when DST changes.

If you have all FAT-based file systems, or all NTFS file systems, you probably wouldn't notice any of this. But when a Windows 95/98 PC is attached to a Windows NT server and you move/compare files between them, then it's a real problem.

To ignore timestamp differences due to this problem, open the Session menu, click Comparison Control [image], and on the General tab enable the Ignore Daylight Savings difference option.


Drag and Drop

You can use the Windows "drag and drop" facility with Beyond Compare to compare files or folders. Drag a pair of files or folders from programs such as the Windows Explorer and drop them on Beyond Compare for comparison.

If Beyond Compare is not already running, drag the items over the Beyond Compare program icon. If Beyond Compare is running, you can drop a folder onto the left or right pane of the Folder Viewer window to open the folder there. Or, drop a pair of folders anywhere over the main window to open them both.

For text files, drop one on either the left or right pane of the File Viewer window, or drop a pair of files anywhere over the window. If you drop more than two files or folders, only the first two are recognized.

If Beyond Compare is running but minimized or in the background, you can drag the items over the Beyond Compare button on the taskbar, wait a moment (without releasing), and Windows will bring Beyond Compare to the foreground for you.


Enabling/Disabling Autoscan
  1. On the Session menu in the Folder Viewer, click Comparison Control [image].
  2. On the General tab, under Folder Handling, check or uncheck Automatically scan subfolders in background.


Line Termination

Text files normally contain invisible control characters that mark the end of each line. Different operating systems and applications use different conventions for these control characters. For example, Windows text files normally have a carriage return (ASCII code 13) and a line feed (ASCII code 10) at the end of each line. But Unix uses line feeds alone for line terminators. Some applications produce output files that use a carriage return alone, or in some obscure cases a line feed followed by a carriage return.

The situation is further complicated when a file originally from a Unix system is changed by a Windows workstation and ends up with a mixture of different line terminations in the same file.

Beyond Compare is designed to be tolerant of different line termination styles. In the File Viewer you can compare a file using one style side-by-side with a file using a different style. Also, the "rules-based content comparison" option lets you compare text files from the Folder Viewer, ignoring differences in line termination.


Managing Multiple Windows

When you have the Folder Viewer and one or more File Viewer windows open, you can move between them with the Next Window (Ctrl+Tab) and Previous Window (Shift+Ctrl+Tab) commands.

The File Viewer windows can be minimized independently, but minimizing the Folder Viewer will minimize all windows.

The Windows menu also has commands that manage the layout of the File Viewer windows: Tile Viewers Horizontally, Tile Viewers Vertically, and Cascade Viewers.


Refresh vs Full Refresh

Refresh [image] re-reads all opened folders and updates the listings in place. If a file has been changed, added, or removed, the listing is corrected, recomparing that pair of items if necessary. Refresh will leave all your existing settings, open folders, and selections alone, and will only recompare those items which have changed.

Full Refresh [image] is a more heavy-handed operation which throws out the existing folder comparison completely. It will have to reconnect to FTP sites, rescan all folders, and recompare everything. It will keep any existing session settings, but all open folders will be closed and your selection will go away. This is primarily useful if you want to force a recompare of everything or if Beyond Compare isn't detecting a change in the file system or FTP site correctly.


Report Codes (deprecated)

Report codes are comprised of a two digit report style followed by a letter indicating the active filter. Example: 50n indicates a side-by-side folder comparison report of files that are newer on the left.

File Differences report styles:
 00 Over/under
01 Side-by-Side
02 Side-by-Side, no line numbers
03 Composite
04 Patch
05 Statistics

File Differences report filters:
 a All lines
d Just differences
s Just important differences
m Just matching text

Folder Comparison report styles:
 50 Side-by-Side
51 Summary list

Folder Comparison report filters:
 a All Files
d Just mismatches
m Just matching
b No orphans
z Mismatches but no orphans
s Just orphans
n Left side newer
o Right side newer
u Left side newer and orphans
v Right side newer and orphans


Changing Context Extent
  1. On the Tools menu in the File Viewer, select Options.
  2. On the File Viewer tab, edit Number of Context Lines as needed.


Web Equivalents

When the File Viewer is viewing a file directly from an FTP site, the first time you select View as Web Page [image] Beyond Compare will prompt for a web-equivalent URL. Enter the HTTP equivalent of the FTP base folder. For instance, if you access ftp.mydomain.com/webroot to maintain your website at www.mydomain.com, then if your base folder in Beyond Compare is:

ftp.mydomain.com/webroot/project

...then enter the Web Equivalent as:

http://www.mydomain.com/project/