虽然禁用 Windows 路径长度限制使得某些应用程序可以使用更长的路径,但其他应用程序仍然无法处理长路径,因为它们有一些内部检查。
我该如何解决这个问题?
答案1
一个技巧是创建一个subst
指向某个目录的虚拟驱动器。
如果您已经在文件树中有一个文件夹并且想要在其中工作,但某些文件甚至位于更靠下的位置,如下所示:C:\Users\my_really_long_username\my_extremely_long_working_directory_name_that_has_a_long_name_and_contains_even_more_folders_that_result_in_a_path_that_is_over_256_characters_long
您可以像这样创建虚拟驱动器:
命令:
subst V: C:\Users\my_really_long_username\my_extremely_long_working_directory_name_that_has_a_long_name_and_contains_even_more_folders_that_result_in_a_path_that_is_over_256_characters_long
执行程序
cmd /c "subst V: C:\Users\my_really_long_username\my_extremely_long_working_directory_name_that_has_a_long_name_and_contains_even_more_folders_that_result_in_a_path_that_is_over_256_characters_long"
然后,您可以切换到虚拟驱动器的根目录,V:
并且您的程序会认为您位于文件系统的根目录,即使您在技术上位于很远的文件夹中。
显然,这仅在您拥有某种想要从中工作的工作目录时才有效,并且如果来自此虚拟根目录的路径长度超过 256 个字符,您仍然会受到路径长度限制。