我在我的几台机器上运行微软的窗口。我不知道在操作系统中是否有很多人知道这个问题,但是你不可能有很长的文件名,据我所知,Linux可以有更长的名字,我从来没有在我的Linux机器上遇到过这个问题。
无论如何,每当将文件夹和文件复制到备份驱动器时,我都会遇到问题。我手动备份我的数据,查找和更改文件的名称,这是非常繁琐的。
是否有缩短文件夹或文件名的软件工具,这些文件夹或文件名在Windows上是很长的?
我有驱动器图像复制软件,但以一种我不喜欢的方式,加上移动文件可能会成为一个麻烦的时候,如果名称太长,无法复制。
发布于 2009-05-30 04:15:03
通常,您可以将文件压缩到归档文件中,以便在从一台机器移动到另一台机器时绕过长度限制。
发布于 2014-12-25 17:10:32
我只想提一个小把戏,我看这里还没提到。
以这个文件为例:
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个字符长。shell (Windows )和大多数命令行实用程序可能不允许您碰它。
使用subst命令如下:
subst X: "C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow"现在您可以访问(并删除、移动等)该文件如下:
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中,有一个臭名昭著的常量称为MAX_PATH。MAX_PATH是260个字符。NTFS文件系统实际上支持多达32,767个字符的文件路径。您仍然可以通过访问Windows函数的Unicode (或"wide")版本,以及以\\?\作为路径前缀,使用32,767字符长路径名。
MAX_PATH在很久以前就在Windows中被固定住了。我认为这与当时的ANSI标准有关.但这是微软现在很难改变的事情之一,因为现在我们有成千上万的程序和应用程序,包括微软自己编写的一些程序和应用程序,这些程序和应用程序使用MAX_PATH,如果常数突然改变,就会以奇怪的新方式失败。(缓冲区溢出、堆损坏等)
发布于 2009-05-30 06:07:00
请参阅http://www.ratsauce.co.uk/notablog/longfilenames.asp
如果使用完整路径,即以驱动器字母开头,并在文件名前加上\?\ \,则可以获得260个字符长度限制。
JR
https://serverfault.com/questions/15357
复制相似问题