gpt4 book ai didi

windows - 无法使用 Remove-Item -Recurse -Force 递归删除某些文件

转载 作者:行者123 更新时间:2023-12-05 07:38:17 25 4
gpt4 key购买 nike

在 powershell 5.1 上
在 foreach 循环中使用它,例如:

foreach ($i in $folder.subfolders) {
if( $i.path -like "*node_modules" ){
Remove-Item $i.path -Force -Recurse
}
}

我一直遇到这个特定的错误:

    + CategoryInfo          : WriteError: (_node_modules_r...dationpath.html:FileInfo) [Remove-Item], DirectoryNotFoundException
+ FullyQualifiedErrorId : RemoveFileSystemItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand
Remove-Item : Cannot remove item C:\topDir\js\node_modules\ram
l-1-parser\documentation\interfaces\_node_modules_raml_definition_system_node_modules_raml_typesystem_dist_src_index_d_.numbertype.html:
Could not find a part of the path '_node_modules_raml_definition_system_node_modules_raml_typesystem_dist_src_index_d_.numbertype.html'.
At C:\topDir\re.ps1:12 char:11
+ Remove-Item $i.path -Force -Recurse

导致错误的文件都存在,我已经检查了路径,据我所知,它们是正确的吗?
我唯一能弄清楚的是文件名异常长。但这肯定不是原因吗?

最佳答案

长的 UNC 名称很难删除。这是特定于操作系统的内容,限制为 260 个字符。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

在 Windows 10 上,您可以启用长路径名,但这并非在所有情况下都有效。在某些情况下,您必须使用短名称,这需要一些转换工作。

与“Beacon Bits”的内容相同,因为没有 .subfolder 属性或方法。你可以通过做...看到这一点

(gci D:\Temp) |获取成员(member) |选择姓名、成员(member)类型

如果您在父文件夹或子文件夹中查找文件,则使用...

FullName                        Property

有点像...

(gci 'D:\Temp\*.txt' -Recurse).FullName

Results

D:\Temp\diff\TestFile_2.txt
...
D:\Temp\Duplicates\BeforeRename1\FsConfig.txt
...
D:\Temp\Duplicates\dup5\SomeRandomThing.txt
...

关于windows - 无法使用 Remove-Item -Recurse -Force 递归删除某些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48052612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com