判断注册表属性是否存在

判断注册表属性是否存在

在《Windows PowerShell 3.0 First Steps》中,有一个判断注册表属性是否存在的示例,在 95-96 页。
假设有一个注册表 HKCU:\Software\sample 键,现在需要判断在其下中否存在属性 bogus。
判断属性值不能使用 Test-Path,必须使用下面的方法:


if((Get-ItemProperty HKCU:\Software\sample -Name bogus -ea 0).bogus) {‘Property already exists’}

一般而言,这个方法是可行的。
但是,这个方法有一点瑕疵。如果属性值为 0,它会认为属性不存在。
需要作一点改进,增加判断值是否等于 0,同样,还要增加对字符串的判断;另外,-Name 和 -ea 参数可以去掉。即:


if((Get-ItemProperty HKCU:\Software\sample ).bogus -or $((Get-ItemProperty HKCU:\Software\sample ).bogus) -eq 0 -or (Get-ItemProperty HKCU:\Software\sample ).bogus.trim() -eq ""){‘Propertyalready exists’}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值