Windowsでは、以下のように
ファイル名に使えない文字がいくつかありますが
使えない理由は「Windowsではこれらの文字をシステム上で使うから」です。
具体的に言うと以下のような目的で使われます。
- \(バックスラッシュ)
→階層表示として使うから。(例:c:\test\test)
- ¥(円)
→階層表示として使うから。
厳密に言うと階層表示で使われるのは \ なのですが、Windowsでは \ が¥ として表示されるという意味不明な仕様となっているため(これは歴史的な事情が関係しています)、「念のため ¥ も禁止しとくか!」みたなノリで禁止されているんだと思います。(すみませんこれは予想です)
- :(コロン)
→ラベル定義に使うから。
- *(アスタリスク)
→「任意の長さ0文字以上」という意味のワイルドカードとして使うから。
- ?(はてな)
→「任意の長さ1文字」という意味のワイルドカードとして使うから。
- “(ダブルクォーテーション)
→パス名で使うことがあるから。(例えばスペースがあるパス名を””で囲ったりするのに使う)
- <(小なり)
→標準入力にリダイレクトとして使うから。
- >(大なり)
→標準出力をファイルにリダイレクトとして使うから。
- |(バーティカルバー、パイプ文字)
→パイプ(コマンドの結果を他のコマンドの入力として使うみたいなこと)として使うから。
コメント