gpt4 book ai didi

powershell - Powershell查找注册表项并将其删除

转载 作者:行者123 更新时间:2023-12-03 01:04:00 25 4
gpt4 key购买 nike

我创建了一个小的powershell脚本来查找注册表是否存在。它存在,然后使用命令REG DELETE删除它。但是在第一次成功运行它之后,我检查了regedit并发现它已被删除。但是,如果我尝试再次运行脚本,它仍会返回发现注册表项已被删除的信息。

$a = Test-Path -Path 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{23170F69-40C1-2702-1604-000001000000}'
if ($a = "True")
{
echo "Found!"
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{23170F69-40C1-2702-1604-000001000000}"
}
else
{
echo "Not found!"
}

最佳答案

问题出在你的子句上。

在表达式中,为变量$a分配值“True”,而不是检查$a是否等于“True”。在这种情况下,如果从句仅检查分配是否成功(应该总是这样)。

由于Test-Path返回一个 bool(boolean) 值,因此您可以像这样检查:

if($a){
#$a = true
} else {
#a = false
}

如果您想使其更清晰易读,也可以
if($a -eq $true){
#$a = true
} else {
#a = false
}

这是有关Powershell中比较运算符的文档的链接: Link

关于powershell - Powershell查找注册表项并将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51964744/

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