Thursday, February 05, 2009

Dealing with 'invalid' filenames in Windows ("Cannot read from the source file or disk")

Occassionaly I run into this issue. A person has copied over a file created by a Mac onto a Windows system, due to illegal or invalid naming, the file cannot be deleted or read.

Another issue might be someone saved something and the path was too deep. Now the data is problematic - it cannot be copied from the system, deleted, renamed, whatever.

I learned something really cool today thanks to another blogger (http://blog.dotsmart.net).

Please read this post:
http://blog.dotsmart.net/2008/06/12/solved-cannot-read-from-the-source-file-or-disk/

I don't want to copy his work but I will say that you can get Windows to ignore the invalid elements by prefixing paths with \\?
For example: "\\?\C:\Documents and Settings\user\filewithdotatend."

This allows commands like C:\>ren "\\?\C:\Documents and Settings\user\filewithdotatend." "filenamewithoutdot"
Now the file is usable, deletable, whatever.

This is so cool. I had no idea. Thanks to Duncan Smart’s Weblog !

No comments:

New beginner's guide to PowerShell on my GitHub page

 I created a beginner's guide to PowerShell here: https://github.com/aamjohns/Powershell_Guide/blob/main/README.md I hope it helps someo...