Windowsで「ファイル名には次の文字は使えません」が出る理由 | それぞれの文字の使用用途

Windowsでは、以下のように

ファイル名に使えない文字がいくつかありますが

 

使えない理由は「Windowsではこれらの文字をシステム上で使うから」です。

具体的に言うと以下のような目的で使われます。

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

1991生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

タイトルとURLをコピーしました