General Topics






Tips and How-To


IntegrityChecker java (icj): 'update', 'update-all', 'update-new' commands

You can update a single volume or a single folder, or any number and combination of volumes or folders at once.

The update command updates files and folders that:

Any number and combination of volumes or folders can be specified in a single invocation.

The update-new command updates files and folders that are new (have no existing hash info, which could be icjh, icj, icj or extended attribute). Fles with existing reference info are not examined even if they have changed date or size. Use the update-new command when it is desirable to include new files, but to leave all else alone.

The update-all command rehashes all files, whether or not a hash already exists, flagging changes appropriately. Use update-all only if it is suspected that hash information has been corrupted. This command might be removed in a future release.

TIP: insight into missing files vs moved or renamed files

For maximum insight into moved or renamed files vs truly missing files, perform the update on an entire volume(s) or on a higher-level folder(s) spanning all affected subfolders. That allows icj to cross-match files that might have been moved or renamed. If files have been moved to new locations, then update those new locations FIRST so that icj can use the hashes.

Normally update saves all changes, but it can be run without saving changes, or prompting to save, as follows. This might be used when one is unsure where files have gone to and one wishes to leave things alone until that is understood. Available with icj 2.03.b10 or later.

icj update --save=prompt <args>
icj update --save=no <args>

Command line usage

icj update [<path>]*


The "|" symbol indicates one of the items, only.



Lines starting with "#" are comments.

# Update the contents of the current directory — no arguments needed
icj update

# Update the contents of three folders in the current directory
icj update Folder1 Folder2 Folder3

# Update the contents of volume “Master”
icj update Master

# Update your Documents folder in your home directory:
icj update ~/Documents

# Update all volumes whose name includes "Clone" (macOS path form)
icj update /Volumes/*Clone*

# Update, prompting whether to save or not:
icj update --save=prompt

# force to assume hard drive, reduce threads and buffers accordingly:
icj update --optimize HDD MyData

# control the CPU and memory usage manually with 2 hashing threads, 4 large buffers of 8MB each:
icj update --threads 2 --large-buffers 4 --large-buffer-size 8M MyData

Previous page: icj verify
Next page: icj clean