PowerShell中Get-ItemProperty的Target是什么?如何为其赋值?
问题解析与解决方案
1. 关于Target属性的说明
普通.txt文件默认不存在Target属性,你看到的空{}大概率是自定义添加的扩展属性——可能是之前用脚本或第三方工具加上的。如果是快捷方式(.lnk文件),Target是默认属性,用来指向快捷方式要打开的目标路径,空{}就代表这个快捷方式的目标没设置或者已经损坏。
2. 赋值命令报错的原因
PowerShell里的{}是脚本块(ScriptBlock),不是哈希表!你用的{ "key1":"value1"}是Python的字典写法,PowerShell不认这个语法,所以才会抛出解析错误。
3. 正确给哈希表类型Target赋值的方法
如果确定Target属性需要存储哈希表,用PowerShell专属的哈希表语法@{},键值对用=分隔,命令改成这样:
Set-ItemProperty -Path a.txt -Name Target -Value @{ key1 = "value1" }
验证赋值结果
执行你原本的查看命令确认:
Get-ItemProperty -Path a.txt | Format-List -Property * -Force
这时Target的值会显示为@{key1=value1},说明哈希表已经成功赋值。
额外提醒
要是Target属性本来是用来存储字符串的(比如快捷方式的目标路径),直接赋值字符串即可:
Set-ItemProperty -Path a.txt -Name Target -Value "C:\实际路径\目标文件.exe"
内容的提问来源于stack exchange,提问作者Andromeda26
相关产品推荐
相关产品推荐

