Dan*_*iel 2 windows filesystems ntfs
我在我的几台机器上运行 Microsoft Windows。我不知道在操作系统中是否有很多人知道这个问题,但是你不能有很长的文件名,据我所知,Linux 可以有更长的名称,我从来没有在我的 Linux 机器上遇到过这个问题。
无论如何,每当将文件夹和文件复制到备份驱动器时,我都会遇到问题。我手动备份我的数据,查找和更改文件名,这是非常非常乏味的。
是否有软件工具可以缩短在 Windows 上过长的文件夹或文件名?
我有驱动器映像复制软件,它可以完成这项工作,但以我不喜欢的方式,而且如果名称太长而无法复制,移动文件有时会变得很麻烦。
只是提到一个我在这里还没有看到提到的技巧。
以这个文件为例:
C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
这个完整的文件路径是 290 个字符长。外壳(Windows 资源管理器)和大多数命令行实用程序可能不会让您接触它。
subst像这样使用命令:
subst X: "C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow"
Run Code Online (Sandbox Code Playgroud)
现在您可以访问(以及删除、移动等)该文件:
X:\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
现在该文件名只有约 235 个字符左右,因此您不会再遇到“文件名太长”的问题。
在 Windows API 中,有一个臭名昭著的常量,称为MAX_PATH. MAX_PATH 是 260 个字符。NTFS 文件系统实际上支持最多 32,767 个字符的文件路径。通过访问 Unicode(或“宽”)版本的 Windows API 函数,您仍然可以使用 32,767 个字符的长路径名,还可以通过在路径前加上\\?\.
MAX_PATH在石头上设置一个很长的在Windows世界时间前。我认为这与当时的 ANSI 标准有关......但这是微软现在很难改变的事情之一,因为现在我们有成千上万的程序和应用程序,包括一些由微软自己编写的,使用MAX_PATH如果常数突然改变,就会以奇怪的新方式失败。(缓冲区溢出、堆损坏等)
| 归档时间: |
|
| 查看次数: |
16526 次 |
| 最近记录: |