All Posts by Date or last 15, 30, 90 or 180 days.
also by Lloyd: diglloyd.com photography and WindInMyFace.com

Thank you for buying via links and ads on this site,
which earn me advertising fees or commissions.
As an Amazon Associate I earn from qualifying purchases.

Other World Computing...
B&H Photo...
Amazon
As an Amazon Associate I earn from qualifying purchases.
Get all the tools you need to upgrade the factory HDD of any 2009-2019 iMac to a larger HDD or a modern SSD.
Upgrade the memory of your 2020 iMac up to 128GB

IntegrityChecker Java for Windows: Tested And Working

re: Why Use IntegrityChecker Java for Data Integrity?

IntegrityChecker Java runs on any platform that supports the Java language*—macOS and Unix, various NAS flavors based on Unix, Windows—just about everything. The wrapper shell script which launches it has until now been only for unix/macOS.

Windows users needed a BAT file**, which is now available and tested (see below).

Cross-platform data validation is tested and working; the Mac can verify folders on the PC and vice versa.

* Java should not be confused or conflated with a totally different language, JavaScript.

** Unix shells can be installed on Windows (highly recommended if you are technical enough), but a BAT file may be easier/simpler for most users.

Try it out on Windows

Automated install not yet available, manual install required.

You will need icj 2.03b4 or later (available for download by 2022-04-14).

1. Install Java on Windows

Test if java is installed by opening a command prompt and typing:
java --version

Strongly recommended is the Microsoft build of Open JDK. If not installed or an older version, it is best to get the latest build.

There are other ways to install it but direct download is easiest on Windows 10. Unzip the download and copy the JDK folder into C:\Program Files eg
C:\Program Files\jdk-17.0.2+8 (or whatever the version number happens to be).

It should look like this when copied over:

JDK installed into C:\Program Files

2.1 Install batch file and jar

  1. Create a new folder C:\Program Files\icj
  2. Download icj_bat.txt and save it as "icj.bat" in C:\Program Files\icj
  3. Copy diglloydTools.jar into C:\Program Files\icj
    diglloydTools.jar is part of the download for IntegrityChecker Java and diglloydTools customers.

It should look like this:

IntegrityChecker Java installed into C:\Program Files\icj

2.2 Copy preferences files into home folder

  1. Copy icj_prefs-default.txt into your home folder, renaming it as ".icj_prefs.txt".
  2. Copy icj_prefs_customized.txt into your home folder, renaming it as .icj_prefs_customized.txt

Note the leading "." in the file names above.

3. Add paths

Add these paths to the Windows Path system variable.

C:\Program Files\icj
C:\Program Files\jdk-17.0.2+8\bin
(actual version number might differ over time from this version)

The easiest way to do this is to use the Browse button.

1. Open System Properties.
2. Click Environment Variables...
3. Selectd Path then click Edit...
4. Click Browse... to add each path.

 
Windows System Properties
       
Editing the Windows Path environment variable

3. Test it

Open a new command window and type icj, then press the ENTER key. You should see:

C:\Users\lloyd>icj
# icj 2.0.3b3 2022-04-12 16:00
# (c)2020-2022 DIGLLOYD INC. All Rights Reserved.
Valid license required.  https://diglloydtools.com
# 2022-04-12 21:42:10 {USER=lloyd homeDir=C:\Users\lloyd OS=Windows 10 amd64 }
Available commands:
...

Issues?

Just like macOS, Windows has a lot of off-limits subfolder in the home directory which deny access. But icj will work on all your normal data folders, and those off-limits folders are system cruft anyway.

Example

Running on Windows within Parallels.

C:\Users\lloyd>icj verify Pictures
# icj 2.0.3b4 2022-04-12 22:00
# (c)2020-2022 DIGLLOYD INC. All Rights Reserved.
# Valid license required.  https://diglloydtools.com
# 2022-04-12 21:59:57 {USER=lloyd homeDir=C:\Users\lloyd OS=Windows 10 amd64 }
Scanning folders... 2 hierarchy files evaluated, 1 authoritative: C:\Users\lloyd\Pictures\.icjh Parsing C:\Users\lloyd\Pictures\.icjh
# Hash data for 7 folders containing 101 files loaded in 160 ms.
Hashing 101 files totaling 9535 MiB in 7 folders... 87%: 84 files 8334 MiB @ 2075 MiB/sec, 00:04.016 [2150,3875ms] Waiting for 1 of 101 files to finish... 100%: 101 files 9535 MiB @ 2065 MiB/sec, 00:04.617 Checking overall status for 7 folders... done.
Missing folders: none
-- begin detailed file changes -- -- end detailed file changes --
============================================================================== 2022-04-12 22:00:03 : 7 folders totaling 9535 MiB C:\Users\lloyd\Pictures ============================================================================== # With hash: 101 # Without hash: 0 # Hashed: 101 # Missing Files: 0 # Missing Folders: 0 # Changed size: 0 # Changed date: 0 # Changed content + date, size unchanged: 0 # Total files differing: 0 # Num ignored files: 6 # SUSPICIOUS files: 0 icj done at Tue Apr 12 22:00:03 PDT 2022 runtime 00:05.623

Raw Hashing Speed

On my 28-core 2019 Mac Pro running windows via Parallels Desktop, the raw hashing speed is just as good as on macOS. Performance on files will be limited in most cases by I/O speed.

SHA-512 hashing speed:
Threads MB/sec  MB/sec/thread
1       629.4   629.4
2       1256.3  628.1
3       1836.4  612.1
4       2460.6  615.2
5       3037.4  607.5
6       3607.5  601.3
7       4221.6  603.1
8       4790.0  598.8
9       5370.8  596.8
10      6003.8  600.4
12      7029.1  585.8
14      7941.3  567.2
16      8850.9  553.2
18      9323.2  518.0
20      10218.0 510.9
22      10728.2 487.6
24      11589.0 482.9
26      12302.8 473.2
28      13333.3 476.2

User comments

Jet W writes:

Setting up IC to run using Windows Task Scheduler would be better than a BAT file, AND one could run it regularly.

https://stackoverflow.com/questions/15783553/run-a-jar-file-using-windows-scheduler

MPG: that might be useful, but the idea is to be able to invoke it on any arbitrary folder(s) eg:

icj verify D:\MyStuff\Photos

And most important, the output needs to be seen by the user, so I’m unsure of how running it in the background is very helpful.

View all handpicked deals...

Samsung 2TB T7 Shield Portable SSD (Blue)
$250 $220
SAVE $30

diglloyd.com | Terms of Use | PRIVACY POLICY
Contact | About Lloyd Chambers | Consulting | Photo Tours
Mailing Lists | RSS Feeds | Twitter
Copyright © 2020 diglloyd Inc, all rights reserved.
Display info: __RETINA_INFO_STATUS__