我无法删除文件,因为它的路径太长

我无法删除文件,因为它的路径太长

我有一个目录,其中包含要删除的文件。但是,文件名太长:

> Remove-Item -Recurse target
Remove-Item : The specified path, file name, or both are too long. The fully qualified
file name must be less than 260 characters, and the directory name must be less than
248 characters.

我也无法在 Windows 资源管理器中使用shift+删除它:delete

截屏

我也无法移动该文件,因为它的名称太长了。有什么方法可以删除该文件吗?我使用的是 Windows 8.1。如果您能解释这样的文件为什么会出现在我的驱动器上,以及为什么 Explorer 和 PowerShell 无法删除它,您将获得加分。

答案1

你应该能够使用DeleteFile()和路径使用长路径符号,如\\?\C:\path\to\your\file.class

从链接的 MSDN 页面:

在此函数的 ANSI 版本中,名称限制为 1000MAX_PATH个字符。要将此限制扩展为 32,767 个宽字符,请调用此函数的 Unicode 版本并将名称添加"\\?\"到路径前面。有关更多信息,请参阅命名文件

相关内容