当前遇到问题,我目前正在这样做:
Get-ChildItem $PATH -Recurse -ErrorAction SilentlyContinue |
Where-Object {($_.Attributes -notmatch '\"Directory\"') -and
($_.LastWriteTime -lt (Get-Date).AddHours(-12))}|
Remove-Item -Force -Recurse
现在,如果我没有符号链接,那么它将删除很好,但是我知道。我收到此错误:
Remove-Item:请求中指定的标记与重新解析点中存在的标记不匹配 在线:1个字符:184 + ...($ _。LastWriteTime -lt(Get-Date).AddHours(-12))} |删除项-强制 + ~~~~~~~~~~~~~~~~~~ + CategoryInfo:未指定:(:) [Remove-Item],Win32Exception + FullyQualifiedErrorId:System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.RemoveItemCommand
我无法将Powershell升级到v6。它似乎与以下内容有关:https://github.com/powershell/powershell/issues/621#issuecomment-289230180
有人解决吗?
答案 0 :(得分:0)
此问题似乎已在PS 6中得到解决(参考:https://github.com/powershell/powershell/issues/621)
在PS 5.1中,可以使用以下方法解决该问题:
$(get-item $theSymlinkDir).Delete()
或在Q的注释中针对此特定的Foreach-Object循环注意到LotPings:
|? LinkType -eq 'SymbolicLink'| % { $_.Delete() }
答案 1 :(得分:0)
今天在PowerShell 7
上进行了测试,很遗憾,问题仍然存在:PowerShell无法删除符号链接。
我不得不通过提升提示符键入cmd /c rmdir /s /q C:\Users\Your_User_Name\Your_Folder_Name
来删除目录