I am wondering what's the purpose of Target? If the type of Target is hash, how to set the key/value.
PS Set-ItemProperty -Path a.txt -Name Target -Value { "key1":"value1"}
At line:1 char:58
Set-ItemProperty -Path a.txt -Name Target -Value { "key1":"value1"}
~~~~~~~~~
Unexpected token ':"value1"' in expression or statement.
CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
FullyQualifiedErrorId : UnexpectedToken
CodePudding user response:
As for your post title:
What is the purpose of Target in Get-ItemProperty of powershell
Use Get-Member to find out.
(Get-ItemProperty -Path 'D:\temp\ZenMusic.mp3' |
Get-Member) -match 'Target' |
Format-List
# Results
<#
TypeName : System.IO.FileInfo
Name : Target
MemberType : CodeProperty
Definition : System.Collections.Generic.IEnumerable`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Target{get=GetTarget;}
#>
As you can see, there is no setter for this property.
CodePudding user response:
The purpose of the Target parameter in the Set-ItemProperty cmdlet is to specify the path and file name of the item to be modified. It is typically used to set or modify the values of properties for a file, registry key, or other item.
In the example you provided, it looks like you are trying to set the Target property to a hash table with the key "key1" and the value "value1". However, the syntax for defining a hash table in PowerShell is incorrect in the example.
To set the Target property to a hash table with the key "key1" and the value "value1", you would use the following syntax:
Set-ItemProperty -Path a.txt -Name Target -Value @{ "key1" = "value1" }
Alternatively, you could use the following syntax to define the hash table inline:
Set-ItemProperty -Path a.txt -Name Target -Value @{ "key1" = "value1"; "key2" = "value2" }
In this syntax, the keys and values of the hash table are separated by the equals sign (=), and the key-value pairs are separated by semicolons (;).