GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Files.html ・ emacs-doc.conao3.com

I.3 MS-Windows上のファイル名

MS-WindowsおよびMS-DOSでは通常、他のシステムで使用されるスラッシュではなく、バックスラッシュ ‘\’ を用いてファイル名内の名前単位を区切ります。MS-DOS/MS-Windows上のEmacsでは、スラッシュとバックスラッシュのどちらも使用可能であり、またファイル名内のドライブレターにも対応しています。

MS-DOS/MS-Windowsではファイル名の大文字・小文字が区別されないため、Emacsはデフォルトで補完時にファイル名の大文字・小文字を無視します。このため、MS-DOS/MS-Windowsにおけるread-file-name-completion-ignore-caseのデフォルト値はnon-nilとなります。補完オプションを参照してください。

変数 w32-get-true-file-attributes は、file-attributes や directory-files-and-attributes といったプリミティブにおいて、ファイル属性をより正確に判定するために Emacs が追加のシステムコールを行うかどうかを制御します。これらの追加コールは、パイプなどの特殊ファイルについて、正しいファイル所有権、リンク数、およびファイルタイプを報告するために必要です。これらのシステムコールがない場合、ファイル所有権は現在のユーザーに帰属し、リンク数は常に 1 と報告され、特殊ファイルは通常のファイルとして報告されます。

この変数の値が local(デフォルト)の場合、Emacsはローカルの固定ドライブ上のファイルに対してのみ、これらの追加システムコールを実行します。nil 以外の値を指定すると、リムーバブルボリュームやリモートボリュームに対してもこれらのコールが実行されますが、これによりDiredやその他の関連機能の動作が遅くなる可能性があります。nil の値は、これらのシステムコールを一切実行しないことを意味します。nil 以外の値は、FAT、FAT32、exFATボリュームよりも、ハードリンクやファイルセキュリティをサポートするNTFSボリュームにおいてより有用です。

Unixとは異なり、MS-Windowsのファイルシステムでは、ファイル名に使用できる文字が制限されています。以下の文字は使用できません:

さらに、NUL、LPT1、PRN、CON といった DOS キャラクタデバイス名に一致するファイル(ファイル名拡張子の有無を問わず)を参照すると、どのディレクトリにおいても常にそれらのキャラクタデバイスが指定されます。したがって、対応するキャラクタデバイスを使用したい場合は、そのようなファイル名のみを使用してください。