ファイル名
ファイル名(ファイルめい、英: filename)は、コンピュータのファイルシステム中に保存されたファイルを特定するためにつける名前を表す文字列のことである。コンピュータ上でファイルを作成し保存するときは、ファイル名をつけてから保存する。設定したファイル名は何度でも改名可能なのが一般的である。
オペレーティングシステム (OS) によってはファイル名がディレクトリの名前を意味することもある。また、ファイル名の長さや使用可能な文字の制限はOSやファイルシステムにより異なる。
ファイル名として解釈される文字列を構成する文字も、OSやファイルシステムにより異なる。近年のWindowsでは一般的にUnicodeで表される文字からなる文字列をファイル名に用いるが、UNIX/Linuxではオクテット列を用いる。このため、システムによっては人間が可読ではないファイル名を付けることも可能で、またシステム間でデータを移動する際は適切な規則でのファイル名の変換が必要となる。
ファイル名に含まれる要素
編集ファイル名には以下のような要素が含まれる場合がある。
- プロトコル(スキームとも)- アクセス方法
- 例:http, ftp, file, smb など
- ホスト (ネットワークIDの場合も) — ホスト名、IPアドレス, ドメイン名, LANネットワーク名
- 例: wikipedia.org, 207.142.131.206, \\MYCOMPUTER, SYS: など
- デバイス(ノードとも)- ポート, ソケット, ドライブ, ルートマウントポイント, ディスク, ボリューム
- 例:C:, /, SYSLIB など
- ディレクトリ(パスとも)- ディレクトリ・ツリー
- 例: /usr/bin, \TEMP, [USR.LIB.SRC] など
- ファイル - ファイルの基底名(英: basename)
- 種類(形式や拡張子)- ファイルの内容種別を示す
- 例:.txt, .exe, .dir など
- バージョン - ファイルの版を表す番号
使用が不可能な記号
編集たとえ、コンピュータの中にインストールされていた記号でも、ファイル名では使用が不可能な記号がある(半角の記号は使用不可能だが、全角の記号なら使用可能な場合もある)。ファイルシステムが違うと、同じOSでも使用不可能な記号が異なることがある。これは、ファイルシステムによって予約されており、その記号が何らかのファイル処理に既に利用されているためである。そのため、あるコンピュータでは使用可能でも、他のコンピュータでは使用不可能な場合もある。
ファイル名として使用できない記号、及び、使用が不可能な理由についてを以下の表に示す。
記号 | 記号名 | 使用が不可能な理由 |
---|---|---|
/ | スラッシュ | パス名コンポーネント分離符として、UNIXなどのOSやMS-DOSとWindowsでは使用不可能。 |
\ | バックスラッシュ ¥(円マーク)[1] |
パス名コンポーネント分離符として、MS-DOSとWindowsでは使用不可能。 |
? | クエスチョンマーク | ワイルドカード(不特定だと示す記号)として使われるため、WindowsとAmigaOSでは使用不可能 |
* | アスタリスク | ワイルドカードとして使用されるため、MS-DOSとWindowsでは使用不可能。 |
: | コロン | ドライブレターに使用される、またはパス名分離符であるなどの理由から、Windows、AmigaOS、Mac OSでは使用不可能。 |
| | バーティカルバー | |
" | 引用符 | スペースを含むファイル名の始まりと終わりを指定するのに使われるため、Windowsで使用不可能(全角の「”」は使用可能)。 |
< | 小なり記号 | |
> | 大なり記号 | |
& | アンパサンド | |
. | 終止符 | 8.3形式では2つ以上の終止符を使用できず、ファイル名の最初や最後に終止符を使うこともできない。 |
半角スペース(末尾) | 8.3形式を取り扱うデータ構造上の都合[2]から、MS-DOS で使用不可能。 | |
a〜z | 英小文字 | CD-ROM向けファイルシステムのうち、ISO 9660 Level 1では使用不可能。MS-DOSでは読み書き不能につき使用不可能。 |
使用が不可能なファイル名
編集WindowsとMS-DOSでは、以下の名前もOSによって予約[3]されており、使用不可能である。
CON, PRN, AUX, CLOCK$, NUL COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9 LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
ここで挙げたのは不完全な一覧であり、ファイルシステムごとの正確な名前付けの規則については外部リンク先を参照されたい。
ファイル名の重複
編集前述したとおり、あるデータやプログラムを作成し保存する際、ファイル名を設定するのが一般的である。その際、作成し保存するコンピュータの中に、設定しようとしている同一パス上(同一ディレクトリ/フォルダ上)にまったく同じのファイル名がある場合は、置き換えるか、キャンセルするかを指定しなければならない。
このように、1つのコンピュータに、同一パスかつ同じ名前のファイルがあることは、不可能となっている。
しかし、業務用のメインフレーム(汎用機)等では、パス構造を採用しておらず、同じファイル名の存在を許容する場合があるが、一般には使用されていないため説明を省略する。
脚注
編集- ^ バックスラッシュの日本語フォント上の表現は¥(円マーク)となる。
- ^ FAT 形式のファイルシステムでは、ディレクトリエントリ(ファイル名・属性・実データ開始位置の一覧)におけるファイル名データの終端記号がなく、ベース名 8 バイトと拡張子 3 バイトについて、印字可能文字以外の個所は半角スペース (0x20) で埋められる。ファイル名の最後にスペースを打ち込んだ場合、ファイル名終端以降なのか有効な半角スペースなのか区別ができなってしまう。Windows では取り扱っているファイルが記録されている実際のファイルシステム仕様にかかわらずこの仕様が前提となっており、たとえば(ファイル名終端に半角スペースを識別できる)NTFS 形式のパーティションに作成されているファイルに対しても、ファイル名末尾に半角スペースがあるとうまく操作ができない。
- ^ 「デバイスファイル」「予約デバイス名」または「予約ファイル名」と呼ばれており、プリンターやキーボードなどのデバイスをファイルに見立ててデータを入出力するための仕組みがある(DOSコマンドでの例: copy sample.txt prn)。
関連項目
編集外部リンク
編集- Microsoft