If you run chkdsk from the command prompt on an NTFS volume without any switches it will run in read only mode. i.e. chkdsk D: to check the D: drive. This will verify the disk and report any files which need repairing. However instead of telling us the filename it reports the file number from the Master File Table eg. Error detect in index $I30 for file xxxx.
There is a bit of a trick in identifying the actual filenames involved. First you’ll need to download the nfi utility from microsoft. It’s available here OEM Support Tools Phase 3 Service Release 2 Availability. The next step is to extract nfi.exe and run it from a command prompt. eg. nfi d: > files.txt. This will output the all the files in the MFT including the file number and write the details to files.txt. Next open files.txt in notepad, it’s then a simple method of searching the file for the file number to find out the filename. Of course you could further automate this process by using a scripting language to automatically take the output of chkdsk and cross check it with the output of nfi.