Wednesday, June 5, 2013

How to find the difference between two files from windows shell

Well I was just wondering how could I see the difference between two files in windows.
Searching the net, I saw some softwares  that would do the job for me..But I wanted simple and fast not so sophisticated ...

I found out we could do using a simple tool...fc..from the DOS prompt.
FC is a command to view the difference of two files or set of files..
So the steps are:
1> go the directory where the files are..
 fc first-filename second-filename
....and there you go..You will get the result each different section divided by line of stars..
...Its simple ...right??
I love it....The following explains the full usage method

FC [d:][path]filename [d:][path]filename [/A][/C][/L][/Lb n] [/N][/T][/W][/(number)]

for binary comparisons
FC [d:][path]filename [d:][path]filename [/B][/number] 

FC reports differences between the two files you specify. FC first displays the name of the first file to compare. Next, it displays the lines that differ between the two files. Next, it displays the first line that matches in the two files. FC next displays the name of the second file, followed by the lines that are different followed by the first line that matches.

The FC command requires enough system memory (RAM) to compare 100 lines. If system memory is limited, FC will make comparisons between the number of lines that can fit into available memory. Be careful of this!.


- Instead of displaying all the lines that do not match (in an ASCII comparison), the program displays only the lines that begin and end each set of differences.

/B - Used for a binary comparison of files. The files are compared byte-by-byte. Mismatches are displayed as a relative address from the beginning of the file. Unless you specify the /L switch, the program will automatically assume you want to use this type of comparison when the compared files have a .COM, .EXE, .SYS, .BIN, .OBJ, or .LIB filename extension.

/C - Ignores the case of letters in the compared files. All letters are considered as upper case.

/L - Used for an ASCII comparison of files. Unless you specify the /B switch, the program will automatically assume you want to use this type of comparison for all files that do not have a .COM, .EXE, .SYS, .BIN, .OBJ, or .LIB filename extension.

/Lbn - Sets the line buffer to n number of lines. The amount of memory used for holding lines being compared is normally enough to store about 100 lines. Use this option to reset the buffer (memory space) to n lines. If more than this number of consecutive lines is found to differ, the program will terminate the comparison and display an error message.

/N - Used to turn on the display of line numbers while carrying out an ASCII comparison.

/T - Turn off the display of tabs as spaces in an eight column display format.

/W - Compresses tabs and spaces during the comparison.

/(number) - The number of lines that must match after the program finds a difference between the compared files (if fewer lines match, the matching lines are displayed as differences). If you do not use this option, the number of lines to match between the files is two.


To compare the text file A.html with the file B.html on drive D 

 type and press return key the following..

fc /l A.html D:B.html
for binary comparison of the files A.EXE and B.EXE, enter
fc /b B.exe A.exe

.....................................I hope this helps..
way to gooo...

No comments:

Post a Comment