CRC
First, think of a CRC as a kind of signature.
Suppose I have a directory containing 3 files. I run the CRC program as follows:
C:\FRED\>crc *.*
--> FILE: CRC .EXE CRC = 9D 19
--> FILE: SWEEP .COM CRC = 7D 12
--> FILE: FANG .TXT CRC = 06 E7
DONE
C:\FRED\>
You can see that the CRC program has calculated and displayed a CRC for each of the three files.
Now with the use an optional command line parameter, those calculated CRCs will be stored in a dedicated file for later reference.
C:\FRED\>crc *.* f
--> FILE: CRC .EXE CRC = 9D 19
--> FILE: SWEEP .COM CRC = 7D 12
--> FILE: FANG .TXT CRC = 06 E7
DONE
C:\FRED\>
Note the "f" on the end of the command.
What has happened now is that the CRC program (because of the "f") has created a file named CRCKLIST.CRC in the directory, and that file records the CRC that was calculated for each of the three files.
C:\FRED\>type crcklist.crc
--> FILE: CRC .EXE CRC = 9D 19
--> FILE: SWEEP .COM CRC = 7D 12
--> FILE: FANG .TXT CRC = 06 E7
C:\FRED\>
At any time in the future, I can run the CRC program with no command line parameters, and it will look in CRCKLIST.CRC, and for each file listed, compare the CRC recorded there to what the CRC is now.
C:\FRED\>crc
Searching for "CRCKLIST" file Checking with file: CRCKLIST.CRC
CRC .EXE - 9D 19 *Match*
SWEEP .COM - 7D 12 *Match*
FANG .TXT - 2A 65 <-- is, was --> 06 E7
DONE
Quantity of file CRC that matched - 2
Quantity of file CRC that did not match - 1
C:\FRED\>
In the example above, the contents of FANG.TXT have changed since the CRCKLIST.CRC file was generated.
Below is a link to the CRC program.
CRC.EXE