If you need to have a drive checked (Check Disk) on Windows but instead you are having a though time doing so because of open file handles, then you might want to use Fsutil. Thanks to Fsutil you can query the drive in question and mark the drive as dirty and have autochk check for error on the next restart.
Performs tasks that are related to file allocation table (FAT) and NTFS file systems, such as managing reparse points, managing sparse files, or dismounting a volume. If it is used without parameters, fsutil displays a list of supported subcommands.
Will the drive be checked on start up?
fsutil dirty query c:
C:Windowssystem32>fsutil dirty query c:
Volume - c: is NOT Dirty
Fsutil will mark the disk as dirty, the next time you restart the system the disk in question will be checked and repaired.
fsutil dirty set c:
C:Windowssystem32>fsutil dirty set c:
Volume - c: is now marked dirty