当名称以 ~ 开头时,Powershell 设置属性 sh
Powershell set Attributes sh when name starts with ~
我需要编写一个脚本,在数百个目录中递归,如果找到以“~”开头的文件,则应在该文件中设置隐藏和系统属性。
到目前为止我得到了这个:
Get-ChildItem C:\test\~* - Recurse | foreach {$_.Attributes = 'Hidden, System'}
但它似乎只更改了第一个文件。
做一些类似 dir c:\ -recurse | ? Name -match "~"
的事情,让你们都知道 ~ 。然后像你一样设置属性。
- 使用
-Filter
参数查找以 ~
开头的文件。
- 添加
-File
开关以排除目录。
- 去掉
-
和Recurse
之间的space
这应该有效:
Get-ChildItem 'C:\test\' -Filter '~*' -Recurse -File | foreach {
$_.Attributes = 'Hidden, System'
}
我需要编写一个脚本,在数百个目录中递归,如果找到以“~”开头的文件,则应在该文件中设置隐藏和系统属性。
到目前为止我得到了这个:
Get-ChildItem C:\test\~* - Recurse | foreach {$_.Attributes = 'Hidden, System'}
但它似乎只更改了第一个文件。
做一些类似 dir c:\ -recurse | ? Name -match "~"
的事情,让你们都知道 ~ 。然后像你一样设置属性。
- 使用
-Filter
参数查找以~
开头的文件。 - 添加
-File
开关以排除目录。 - 去掉
-
和Recurse
之间的space
这应该有效:
Get-ChildItem 'C:\test\' -Filter '~*' -Recurse -File | foreach {
$_.Attributes = 'Hidden, System'
}