に多数のファイルを含むフォルダがあります。は SSD なので、速度を上げるために、このフォルダを自分のドライブ (同じパス)D:\dev\tools\eclipse
に移動することにしました。C:
C:
ドラッグ アンド ドロップ操作では、名前が長すぎるという理由で、非常に長い名前を持つ 4 つのファイルのコピーが拒否されます。
- OSはWindows 7 Pro X64です
C:
250GBのSSDですD:
LSI 9260 ハードウェア RAID カード上に、RAID-5 として構成された 3 つの 2TB ドライブ (有効容量 3.6 TB) が搭載されています。C:
と は両方ともD:
NTFS でフォーマットされています。
同一のパスの長さが RAID ドライブでは問題ないのに、SSD では問題になるのはなぜですか?
追加情報:
ファイル上で「パスとしてコピー」コンテキスト メニュー項目 (Shift キーを押しながら右クリック) を使用すると、 ではD:
8 文字を超えるパス要素が 8.3 の短い名前に置き換えられたパスがコピーされますが、 ではC:
完全な名前が使用されます。
ただし、fsutil
両方のドライブで8.3名が有効になっていることがわかります
C:\Windows\system32>fsutil 8dot3name query c:
The volume state for Disable8dot3 is 0 (8dot3 name creation is enabled).
The registry state of NtfsDisable8dot3NameCreation is 2, the default (Volume level setting).
Based on the above two settings, 8dot3 name creation is enabled on c:.
C:\Windows\system32>fsutil 8dot3name query d:
The volume state for Disable8dot3 is 0 (8dot3 name creation is enabled).
The registry state of NtfsDisable8dot3NameCreation is 2, the default (Volume level setting).
Based on the above two settings, 8dot3 name creation is enabled on d:.
これらはまったく同じように構成されているため、Windows が一方には 8.3 名を使用し、もう一方には使用しないのはなぜかという疑問が残ります。
答え1
NTFS 自体の最大ファイル パス長は 32,767 文字/バイトです。
その260文字の制限があるWindows API(パスの 256 文字、ドライブ文字、コロン、スラッシュ、末尾の EOL/NUL の 4 文字)、したがって、(おそらく) ファイルをコピーするために使用しているシステム ユーティリティはその長さで処理され、それが失敗の原因です。
Windows で長いファイル パスを正常にコピーする方法については、次の既存の SU の質問を参照してください。