Win32(※1)ではファイル名に使用できない文字(列)というものが決まっています。これはDOS時代からの互換性のためによるものです。Naming a File(msdn2 library)から引用。ここではDOSからの仕様に基づいて書かれているようです。 AUX、CLOCK$、COM1 ~ COM9、CON、CONFIG$、LPT1 ~ LPT9、NUL、および PRN(※2) \ < > : " / \ | ? *(※3) period(.)はカレントディレクトリを表すので不可。 ASCIIの0から31までは使用不可。128-255までは使用してもよい。 二つのperiod(..)は「一つ上のフォルダ」を表すので不可。 大文字小文字は区別しない(Win32の仕様)。 ファイルの末尾をperiod(.)か空白で終わらせてはならない。 上記のうち、1のファイル名