我需要编写一个通过几百个目录递归的脚本,如果找到一个以"〜"开头的文件,则应该在该文件中设置hidden和system属性。
到目前为止,我得到了这个:
Get-ChildItem C:\test\~* - Recurse | foreach {$_.Attributes = 'Hidden, System'}
但它似乎只是改变了第一个文件。
答案 0 :(得分:1)
-Filter
参数查找以~
开头的文件。 -File
开关以排除目录。 -
和Recurse
这应该有效:
Get-ChildItem 'C:\test\' -Filter '~*' -Recurse -File | foreach {
$_.Attributes = 'Hidden, System'
}
答案 1 :(得分:-1)
执行类似dir c:\ -recurse | ? Name -match "~"
之类的操作,可以使用~in。然后像你一样设置属性。