Jiff Command Line

Guiffy's Jiff command line interface provides a "diff" like non GUI tool. Jiff utilitzes a Minimum Lines of difference algorithm by default. The alternative Minimum Blocks of difference is selectable with the -jiffy option. Both compare algorithms ignore End-Of-Line format differences. When comparing files, both verify options(-bxb and -bxt) stop as soon as they find a difference --- The verify options only output "Files Matched" or "Files NOT Matched". The verify with Text compare(-bxt) applies other jiff options(-case, -enf, -f, -k, -q RE, -tab, and -white) When comparing folders, both verify options quickly stop as soon as they find a difference. The file name arguments may be specified as relative (to the current directory) or absolute paths.

Notes:
To specify filenames including blanks, encapsulate the filename with double quotes.

To specify a UNC for a filename, use \\\\servername for the usual \\servername.

Both folder names and file names support archive file types.
A folder name can be an acrhive file name such as
C:/release_11_2.zip.
or an archive file name including a subfolder name such as
C:/release_11_2.zip/source.
A file name can be an archive file name including a file name such as
C:/release_11_2.zip/source/Jiffy.java.

Usage:
jiff [-options] <1st file> <2nd file>
To compare folders:
jiff [-options] <1st folder> <2nd folder>


Where options include:
-bsf verify subfolders match
-bxb verify files match, byte-by-byte
-bxt verify files match, Text compare
-c -case ignore upper/lower Case differences
-d -diffs only show the Differences
-enf spec Encoding for 1st and 2nd files
For Example: -enfUnicodeLittle
-en1 spec Encoding for 1st files
For Example: -en1UnicodeLittle
-en2 spec Encoding for 2nd files
For Example: -en2UnicodeLittle
-fxxx,yyy ignore Field in columns xxx through yyy
For Example: -f73,80 ignores columns 73 through 80
May be specified twice for 2 fields
-h -help display this Help message
-is subs ignore SubFolders(separated by ";"s) (* Wildcard prefix/suffix patterns supported)
For Example: -isclasses;images;.*
-iase subs ignore All SubFolders Except(separated by ";"s) (* Wildcard prefix/suffix patterns supported)
For Example: -iasesrc;docs;gui*
-isyml ignore Symbolic Links
-if fils ignore Files(separated by ";"s) (* Wildcard prefix/suffix patterns supported)
For Example: -ifGuiffy.jar;.#*
-iafe fils ignore All Files Except (separated by ";"s) (* Wildcard prefix/suffix patterns supported)
For Example: -iafeGuiffy*;Jiff*
-it typs ignore FileTypes(separated by ";"s)
For Example: -it.jar;.zip
-iate typs ignore All FileTypes Except(separated by ";"s)
For Example: -iate.java;.html
-id ignore modified Date and time (folder compares)
-iz ignore file Size (folder compares)
-j -jiffy minimize blocks changed diff
-k ignore blanK lines(inserted or deleted)
-l -linenos don't show Line Numbers
-m -metrics show metrics at end of output
-nom -nomats FolderCompare Show NO matching files
-noa -noadds FolderCompare Show NO files added
-nod -nodels FolderCompare Show NO files deleted
-noc -nochgs FolderCompare Show NO files changed
-q RE -ql RE Quietly ignore changed, inserted or deleted lines matching regular expression RE
ie. -ql^[:blank:]*//.*$
-qp RE Quietly ignore parts of lines matching regular expression RE
ie. -qp//.*$
-qb RE Quietly ignore blocks of lines matching regular expression RE
ie. -qb/\*.*?\*/
Upto 6 -q options are accumulated
-r -recursive Show SubFolders (Recursively)
-ra Show Archive filetypes (Recursively)
-tab tt expand tabs at tt spaces(applied for -f)
tt defaults to 8, ie. -t4
-t -text yy show differences within yy lines of conText
yy defaults to 10, ie. -t8 or -text12
-u nn show differences in Unified Diff format within nn lines of conText
nn defaults to 5, ie. -u8 or -u12
-w -white ignore all White space differences
-wl ignore Leading White space differences
-we ignore Embedded White space differences
-wt ignore Trailing White space differences
-wn ignore EOL White space differences
-x nn eXpand the Jiffy minimum Blocks resynch
For Example: -x2 eXpands the variable resynch by 2 lines

Exit codes:
0 OK, Successful
1 Can't find 1st file
2 Can't find 2nd file
3 Can't read 1st file
4 Can't read 2nd file
5 1st file is a folder
6 2nd file is a folder
7 Encoding not available
8 Unexpected Exception
9 Evaluation period expired
11 Can't find 1st folder
12 Can't find 2nd folder
13 Can't read 1st folder
14 Can't read 2nd folder
15 1st folder is a file
16 2nd folder is a file
17 Not allowed, requires eXpert license
100 Verify option - Files Not Matched
101 Invalid option
102 Missing file parameter
103 Unexpected Exception

Documentation by Guiffy Software, Inc. 2024