[ 新規に投稿する ]

MAX_PATH越えのファイル操作に対応して欲しいNo.08428
R さん 20/02/18 21:17 [ コメントを投稿する ]
  フルパスが260文字を超えるファイルを操作出来るようにして欲しいです。
デフォルト有効化が難しいのであれば、オプションで有効にする方式ででもお願い致します。

Windows 10のバージョン1607以降であればMAX_PATHの制限を解除する事が出来ます。
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#enable-long-paths-in-windows-10-version-1607-and-later
現状の秀丸ファイラーですとフォルダを開く事は出来るのですが、
ファイルのリネーム・移動・削除等 大半のファイル操作が失敗してしまいます。
また、マクロのGetItemPath()関数はファイルパスが~1 の様な短いファイルパスが返ってきてしまいます。
(GetDirectory() 関数は正常に長いフルパスを取得する事が出来ました)

[ ]
RE:08428 MAX_PATH越えのファイル操作に対応して欲しいNo.08431
秀丸担当 さん 20/02/19 11:39 [ コメントを投稿する ]
 
MAX_PATHを超えるファイルの扱いは、確かにできないです。
制限を解除して、GetDirectory()ができてしまうということですが、できるべきではないことで、異常終了したりする危険があると思います。
MAX_PATHが前提になっているところはいろんなところにあって、対応は簡単ではなさそうです。懸念すべきこととしておきたいと思います。

ちなみにプログラム的なことですが、1つの例としてWindowsのAPIの1つにSHGetPathFromIDListというものがあって、文字列の上限パラメータなしで、MAX_PATHを前提にしているところがあったりします。
この制限を解除できてしまうとしたら、Windowsの仕様としてまずい気がするのですが、はたしてそんなことがまかり通るのか?ちょっと疑問です。
本体を対応したとしても、コンテキストメニュー拡張など、様々なプログラムが動くので、その中でも異常終了したりする危険があると思います。
[ ]
RE:08431 MAX_PATH越えのファイル操作に対応して欲しいNo.08470
R さん 20/03/02 03:26 [ コメントを投稿する ]
  お返事ありがとうございます。
なにかの弾みで深い階層のファイルが出来てしまった時に、せめて移動や削除だけでも直接出来ればな・・・という気持ちがあります。

ご検討、宜しくおねがいします。
[ ]

[ 新規に投稿する ]