When I switched from Linux/OSX to Windows 10, I encountered problems with “disappearing files.”
First time it happened:
I have a web application with a directory named “aux.” When copying over the project from Linux to Windows this folder and its contents silently disappear.
Second time it happened:
Pulling the textmate.ruby bundle from GitHub:
$ git clone git@github.com:textmate/ruby.tmbundle.git Cloning into 'ruby.tmbundle'... remote: Counting objects: 4012, done. remote: Total 4012 (delta 0), reused 0 (delta 0), pack-reused 4012 Receiving objects: 100% (4012/4012), 1001.74 KiB | 0 bytes/s, done. Resolving deltas: 100% (2061/2061), done. Checking connectivity... done. error: unable to create file Commands/@variable ||= memoized.tmCommand (Invalid argument) error: unable to create file Commands/Enclose in * (RDoc comments).tmCommand (Invalid argument) error: unable to create file Macros/class .. < DelegateClass .. initialize .. end (class).plist (Invalid argument) error: unable to create file Macros/each_char { |chr| .. } (eac).plist (Invalid argument) error: unable to create file Macros/each_cons(..) { |group| .. } (eac).plist (Invalid argument) error: unable to create file Macros/each_slice(..) { |group| .. } (eas).plist (Invalid argument) // ... snip ...
Argh…
List of reserved file names on Windows 10:
The following are (case insensitive) reserved names which cannot be assigned to a directory or file in Windows 10 :
- CON
- PRN
- AUX
- NUL
- COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, COM0
- LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, LPT0
List of invalid file characters on Windows 10:
The following are special characters which cannot be assigned to a directory or file in Windows 10 :
- < (less than)
- > (greater than)
- : (colon)
- “ (double quote)
- / (forward slash)
- \ (backslash)
- | (vertical bar or pipe)
- ? (question mark)
- * (asterisk)
Sources:
[1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx