Jos*_*hua 21
不幸的是,答案是“取决于程序”。由编写程序的人决定他们想要使用哪种方法。事实上,(无耻的插件)我在几周前写了一篇博客文章,描述了仍然受 MAX_PATH 限制的 Explorer 中的问题。
根据您尝试执行的操作,您可以使用另一个程序来管理长路径,例如 Microsoft Word。否则,你唯一的其他选择就是“忍受它”,因为它永远都是这样,而且似乎不会很快改变。
只是想我还要提到 64 位 Windows 也使用“Win32”API,并且CreateFileA32 位和 64 位程序都有这个问题。
编辑:令人讨厌的细节
问题只存在于CreateFileA函数和CreateFileW使用带盘符的绝对路径时的函数中。解决它的唯一方法(在代码中)是使用\\?\C:\Path\To\File.txt语法......所以即使是使用CreateFileW路径的程序也C:\Path\To\File.txt有问题。这有点难以描述,但不用说,程序内部不支持\\?\语法的最大原因是它们失去了使用相对路径(路径如..\Documents\file.doc)的能力。
Windows 7 中包含的 SUBST 命令将允许通过新的虚拟驱动器号访问更长的路径。
将路径与驱动器号相关联。
SUBST [驱动器 1: [驱动器 2:] 路径]
SUBST 驱动器 1:/D
drive1:指定要为其分配路径的虚拟驱动器。
[drive2:]path 指定要分配给虚拟驱动器的物理驱动器和路径。
/D 删除替换的(虚拟)驱动器。
键入不带参数的 SUBST 以显示当前虚拟驱动器的列表。