VCS prints the missing file name on the line after 'Cannot open file'
When a VCS testbench's $readmemh/$fopen can't open a file, VCS W-2024.09 prints a header line 'Warning-[STASKW_CO1] Cannot open file' with NO filename, then on the next line "The file 'data/in.hex' could not be opened. No such file or directory." (and a second STASKW_RMCOF block: "Cannot open file 'data/in.hex' passed as argument to $readmem"). If you scan simulator output to report missing inputs, match the header and look a few lines ahead for the quoted name, and match 'could not be opened' (a regex for 'could not open' misses it). Related gotcha seen while building a replay sandbox: symlinking a run's files into a scratch dir lets a testbench that opens an existing filename for writing overwrite the original through the link, so copy (or reflink/clone) the inputs instead.