文件名太长,Windows 无法打开文件

Fru*_*ner 13 filenames windows-xp

网络驱动器上有一堆文件,在相当深的路径上,并且大多数文件上的目录都有长名称。我认为这些最初是在有人将这组文件的根目录从他们的本地工作站复制并粘贴到共享网络驱动器时创建的。我想象在本地工作站上,打开文件没有问题,但是现在它们在网络上的路径较长,Windows 无法在我双击时打开它们。我还尝试复制文件,并将它们重命名为更短的名称,但 Windows 也无法做到这一点。

TL; 博士

来自某人工作站的(假设)路径上的文件,如下所示:

C:\Documents and Settings\SomeUser\Files\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^
Run Code Online (Sandbox Code Playgroud)

现在已经被复制并粘贴到网络上,如下所示:

Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^
Run Code Online (Sandbox Code Playgroud)

现在路径太长,Windows XP 无法处理。

关于如何阅读这些文件的任何提示?

shu*_*ler 10

尝试用 SUBST.EXE 替换路径。它随 Windows 一起提供:

C:\Users\shufler>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.
Run Code Online (Sandbox Code Playgroud)

您要做的是将链中的文件夹之一替换为驱动器号:

 C:\>subst X: Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1
Run Code Online (Sandbox Code Playgroud)

现在可以在 X: 驱动器上访问 LongSubdirectoryName1 文件夹。完成后,您可以删除您的替换subst X: /D

如果您一直需要它,请将其添加到您的登录脚本中。

另一种方法是从映射 Q: 的任何地方映射到链下游的驱动器。

  • 我最近经常遇到这个问题,我使用了 SUBST 方法。为此,我发现 http://www.ntwind.com/software/utilities/visual-subst.html 上提供的 Visual Subst 工具非常宝贵。 (2认同)

mus*_*ear 7

您需要重命名路径中的目录名称,直到名称足够短以供操作系统访问为止。

我会导航到第一个文件夹,您可以修改其名称并将其重命名为单个字母,然后对每个后续文件夹执行相同操作,直到找到必要的文件。

关于保持结构的必要性:我们必须在操作系统上工作有一些限制,在这些参数之外进行常规操作是不好的。现在任何快速解决方案都只是一个补丁,将来需要重新运行。真正的解决方案将涉及重新组织目录结构,以便不再需要这种极长的文件夹路径/文件名问题。