我有一个目录'c:\ windows.old \ leftover从Windows 8升级到8.1。我想删除目录并使用Windows资源管理器shift + delete删除大部分目录(删除没有取消删除)。
然而,好的旧MSFT本身还有一些技巧。由于一些奇怪的原因,他们认为为缓存条目设置真正的长名称(RLN)是一个好主意。大多数Windows实用程序(Del / Dir / PowerShell get-children)只会在看到带有RLN的文件时死亡。
因此寻找能够摆脱他们太长时间痛苦的事情。
答案 0 :(得分:1)
我在http://poshcode.org/2488找到了这个PowerShell附加模块。 Joel的ps模块为ps添加了几个命令,包括get-longpath和remove-longpath。
从他的网站下载zip并将其解压缩到C:\ windows \ system32 \ WindowsPowerShell \ 1.0 \ modules。您现在应该在ps modules目录中有一个Experimental.IO文件夹。
启动PowerShell ISE(Windows键+ x,选择Windows PowerShell ISE)或打开PowerShell命令窗口(Windows键+ x, Windows PowerShell)。
导航到包含违规RLN文件的目录(例如' c:\ Windows.old \ users {{username}} \ Appdata \ Local \ Microsoft \ Windows Store \ Cache \ 0'你的ps提示现在应该是:
现在开始更有成效的工作。 PS C:\ Windows.old \ users {{username}} \ AppData \ Local \ Microsoft \ Windows Store \ Cache \ 0>
这会将RLN文件名传递给Remove-LongPath。 PowerShell只返回命令提示符,但您通过输入Get-Longpath(或其别名glp)和Dir来确认没有长文件,以查看目录中没有任何RLN文件。
最后一点,如果您想节约一个小时,请参阅此SO post,要求Windows代表您从磁盘清理实用程序中删除Windows.old文件夹。
答案 1 :(得分:0)
1)将Linux放在拇指驱动器上。 Ubuntu会好的。
2)启动到拇指驱动器。
3)从UI或命令行中删除有问题的文件:
rm /path/to/file/that/you're/deleting/42915u02u51...24521.doc
老实说,使用Linux拇指驱动器删除它比希望Windows实用程序和变通办法不会破坏它更简单,更可靠。