【发布时间】:2021-12-27 21:23:54
【问题描述】:
我目前对 Dropbox 和 Nextcloud 非常恼火,它们都在争夺 ShellIconOverlayIdentifier 列表。当您在互联网上搜索时,许多人似乎都遇到了这个问题。
现在我想将我的烦恼与学习 powershell (7.2.0) 的意图结合起来。
我从以下脚本开始,它将检索所有密钥。后来我想通过-match 使用正则表达式来查找我要删除的条目。现在我使用Remove-Item -WhatIf 和Get-ItemProperty 来测试它。
目前我的问题是我可以按预期创建我的列表。但是当我将列表输入删除命令时,我发现找不到路径。我做错了什么?
Push-Location -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
$list = Get-ChildItem -Path .
$filteredList = $list -match "DropboxExt10"
$filteredList
# Remove-Item -WhatIf -Recurse $filteredList
Get-ItemProperty $filteredList
Pop-Location
错误是Cannot find path 'Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt10' because it does not exist. 显然它将路径添加为当前位置的相对路径。为什么它不解释为绝对路径?当我省略推送位置部分时,它会尝试将注册表路径添加到脚本所在的当前工作目录中。但这也是错误的。
提前感谢您的帮助。
【问题讨论】:
标签: windows powershell registry