ShrinkVD

shrinkvd is a console (command-line) utility to shrink pre-allocated VMware virtual disk files accordingly to space really occupied by the partitions.

The utility is useful for optimizing Windows guests after an update. Windows Update usually needs 5-15 GB of a free space to complete. Having a pre-allocated virtual disk, first expand it by the amount required by the update. After the update, perform a defragmentation of the virtual disk in the guest system, then shrink system partition, leaving only amount of space you really need. The remaining space is freed, but it is still occupied in the virtual disk file (vmdk) in the host system. So shutdown the guest and use ShrinkVD to shrink the virtual disk file.

Works in Windows 2000, XP, 2003, Vista, Windows 7/8/10.