RMDIR 不删除大于 255 长度的嵌套目录路径
RMDIR does not delete nested directories path greater than 255 length
我在批处理文件中使用以下命令,并通过服务器中的任务调度程序 运行 删除大部分嵌套 files/folders 但是当路径长度超过 255 时,它不会删除那些 files/folders。 RMDIR 是这个问题吗,还有其他选择吗,Robocopy Delete?有人遇到过这个问题并且 robocopy 能够为他们解决这个问题,如下所示?
RMDIR "Path-location" /S /Q -- Does not delete files/folder > 255 length
Robocopy:您需要在执行以下命令之前创建空文件夹:
robocopy "C:\empty" "C:\Test Folder" /purge
rmdir "C:\Test Folder" // Once all files/folders are deleted now remove your parent/root directory
这是正常行为。确切地说,该限制定义为 260 个字符 (source)。您有多种选择来规避此限制:
您可以通过 adding/setting 将 REG_DWORD
类型的注册表值 HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
提高到 65535 个字符到 1
。这从 Windows 10,版本 1607 (read more) 开始有效。此更改后重新启动计算机。
您可以将 robocopy
与 /PURGE
参数结合使用,以将空文件夹同步到包含您已经发现的长文件路径的文件夹。如果您不想删除所有内容,而只想删除某些文件,这可能会变得复杂。
可以用UNC paths来描述长路径。变化
C:\very\long\...\path
至
\?\C:\very\long\...\path
我在批处理文件中使用以下命令,并通过服务器中的任务调度程序 运行 删除大部分嵌套 files/folders 但是当路径长度超过 255 时,它不会删除那些 files/folders。 RMDIR 是这个问题吗,还有其他选择吗,Robocopy Delete?有人遇到过这个问题并且 robocopy 能够为他们解决这个问题,如下所示?
RMDIR "Path-location" /S /Q -- Does not delete files/folder > 255 length
Robocopy:您需要在执行以下命令之前创建空文件夹:
robocopy "C:\empty" "C:\Test Folder" /purge
rmdir "C:\Test Folder" // Once all files/folders are deleted now remove your parent/root directory
这是正常行为。确切地说,该限制定义为 260 个字符 (source)。您有多种选择来规避此限制:
您可以通过 adding/setting 将
REG_DWORD
类型的注册表值HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
提高到 65535 个字符到1
。这从 Windows 10,版本 1607 (read more) 开始有效。此更改后重新启动计算机。您可以将
robocopy
与/PURGE
参数结合使用,以将空文件夹同步到包含您已经发现的长文件路径的文件夹。如果您不想删除所有内容,而只想删除某些文件,这可能会变得复杂。可以用UNC paths来描述长路径。变化
C:\very\long\...\path
至
\?\C:\very\long\...\path