D: ドライブのパスの長さは問題ありませんが、NTFS の両方で C: ドライブのパスの長さが長すぎますか?

D: ドライブのパスの長さは問題ありませんが、NTFS の両方で C: ドライブのパスの長さが長すぎますか?

に多数のファイルを含むフォルダがあります。は 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 の質問を参照してください。

関連情報