ユーザが入力したファイル名が、その OS で使用できない文字を含んでいるかを事前にチェックして、ダメならユーザにメッセージを表示する」という要件があった。 Windows なら サイト URL、フォルダ名、ファイル名に使用できない文字 あたりに情報がまとまっている。ただし、これだけではダメだということを今日知った。 たとえば、以下のスクリーンショットは、秀丸で "com1" という名前でファイルを保存しようとした場合にでたエラーメッセージだ。 使用不可文字の他に、OS が予約しているファイル名というものが別に存在して、そのファイル名で保存できないようになっているようだ。具体的には COM1〜COM9、LPT1〜LPT9、NUL など。 こちら(Naming Files, Paths, and Namespaces - Windows applications | Microsoft Doc