Windows 7で最大ファイルパスサイズを拡張するにはどうすればよいですか?[複製]


回答:


21

残念ながら、答えは「プログラムに依存します」です。どのメソッドを使用するかを決定するのは、プログラムを作成する人次第です。実際、(恥知らずなプラグイン)数週間前にMAX_PATHによって制限されたエクスプローラーの問題を説明するブログエントリを書きました。

しようとしていることに応じて、Microsoft Wordなどの別のプログラムを使用して長いパスを管理できます。そうでなければ、あなたの唯一の他の選択肢は、「それと一緒に生きる」ことだけです。なぜなら、それは永遠にそのようであり、すぐに変わることはないようだからです。

64ビットWindowsも "Win32" APIを使用CreateFileAし、32ビットと64ビットの両方のプログラムに問題があることにも言及したいと思いました。


編集:オタクの詳細

この問題は、ドライブ文字付きの絶対パスが使用されている場合のCreateFileA関数および関数にのみ存在しCreateFileWます。(コードで)回避する唯一の方法は、\\?\C:\Path\To\File.txt構文を使用することです... CreateFileWのパスで使用するプログラムでもC:\Path\To\File.txt問題があります。説明するのは難しいですが、言うまでもなく、プログラムが内部的に\\?\構文をサポートしない最大の理由は、相対パス(などのパス..\Documents\file.doc)を使用する能力を失うことです。


ため息はい、私は、Windowsエクスプローラを使用していました。私は通常、Windows XPで問題なく非常に長いファイルパスを作成できたため、奇妙に思えます(XPで長いパスエラーが発生したことは一度もありません。一度もありません!)。まあ
キャメロン

2
ええ、問題を回避するにはさまざまな方法がありますが、100%動作するものはありません。正直に言って、私たちはますます多くのファイルを保持しているので、この問題は大きな問題だと感じています。Wordがうまく長いパスに保存することができたときにそれは本当に私を取得しますが、コピーするエクスプローラを使用する場合には、「パス名が宛先に長すぎる」と死ぬ
ジョシュア

「オタクの詳細」のおかげで、彼らは非常に興味深いです(やや意味をなす)私は学生プログラマーをしていますので、私には(私は本当にまだかかわらのWin32 APIを使用していない)
キャメロン

面白いことに、XP / 2003では常に長いパスエラーが発生していました。
surfasb

6

Windows 7に含まれるSUBSTコマンドにより、新しい仮想ドライブ文字を介してより長いパスにアクセスできます。

パスをドライブ文字に関連付けます。

SUBST [drive1:[drive2:] path]

SUBSTドライブ1:/ D

drive1:パスを割り当てる仮想ドライブを指定します。

[drive2:] path仮想ドライブに割り当てる物理ドライブとパスを指定します。

/ D置換された(仮想)ドライブを削除します。

パラメーターなしでSUBSTと入力して、現在の仮想ドライブのリストを表示します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.