不要扯远了,如何设置只读外的其它属性呢,那就只能使用Attributes属性了。且看下面的例子:
PS C:Userssplaybow> $file.Attributes = "Readonly","system","notcontentindexed","hidden","archive"
PS C:Userssplaybow> $file.mode
-arhs
PS C:Userssplaybow> $file.Attributes
ReadOnly, Hidden, System, Archive, NotContentIndexed
上面的例子展示如何设置文件的只读属性、隐藏属性、系统属性、存档属性、无内容索引属性等。需要注意的是Mode属性和Attributes属性有一点区别,那就是Mode中貌似不会显示出无内容存档属性(I)来。
三、修改文件属性
上面讲的是一次性为文件设置一组属性,这样很简单,但也很粗暴。如果只想给他增加一个ReadOnly属性,其它的原属性不变,怎么操作呢?
在PowerShell中,可以将文件的属性当作一个二进制数组,使用二进制的按位或(bOR)操作符来运算一下就好了。且看例子:
PS C:Userssplaybow> $file = Get-Item d:2.txt
PS C:Userssplaybow> $file.Attributes="hidden"
PS C:Userssplaybow> $readonly = [System.IO.FileAttributes] "ReadOnly"
PS C:Userssplaybow> $file.Attributes=$file.Attributes -bor $readonly
PS C:Userssplaybow> $file.Attributes
ReadOnly, Hidden
上面例子中,文件本身只有一个隐藏属性,后面给它添加了一个只读属性,结果变更为隐藏、只读双属性。如果是要去掉其中一个属性呢?可惜没有按位非的操作符,怎么实现就留给大家思考。
关于PowerShell设置文件只读、隐藏和系统属性,本文就介绍这么多,希望对您有所帮助,谢谢!










