此代码:
Get-ChildItem $targetConfig -Recurse | Set-ItemProperty -Name IsReadOnly -Value $false
返回几个错误:
Set-ItemProperty:Property System.Boolean IsReadOnly = False不 存在。在行:1字符:56 + Get-ChildItem $ targetConfig -Recurse | Set-ItemProperty<<<< -Name IsReadOnly -Value $ false + CategoryInfo:ReadError:(System.Boolean IsReadOnly = False:PSNoteProperty)[Set-ItemProperty],IOException + FullyQualifiedErrorId:SetPropertyError,Microsoft.PowerShell.Commands.SetItemPropertyCommand
这个错误意味着什么?
答案 0 :(得分:7)
这是因为:
Get-ChildItem $targetConfig -Recurse
返回DirectoryInfo和FileInfo。并且Set-ItemProperty在为DirectoryInfo设置“ReadOnly”时失败。
要处理此用途:
Get-ChildItem $targetConfig -Recurse |
Where-Object {$_.GetType().ToString() -eq "System.IO.FileInfo"} |
Set-ItemProperty -Name IsReadOnly -Value $false