一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - PowerShell - PowerShell設置文件只讀、隱藏屬性的方法

PowerShell設置文件只讀、隱藏屬性的方法

2020-06-07 11:24洪哥 PowerShell

這篇文章主要介紹了PowerShell設置文件只讀、隱藏屬性的方法,包括系統、存檔和無內容索引屬性都有介紹,需要的朋友可以參考下

本文介紹一個PowerShell中如何設置文件屬性。我們知道文件的屬性有只讀、隱藏、系統、存檔和無內容索引等5個,只讀和隱藏用得比較多,另外三個用得比較少。

一、文件的屬性

不知道大家有沒有用過attrib.exe這個cmd下的小程序,它可以用來設置文件的屬性。建議大家先去了解一下這個attrib小程序。可以參考文章:使用attrib設置文件只讀、隱藏和系統屬性

下面我們來看看如何在PowerShell中設置文件只讀、隱藏和系統屬性。

我們知道,獲取一個文件對象可以使用Get-Item這個cmdlet。但我們來看看下面的操作:

復制代碼 代碼如下:
PS C:\Users\splaybow> get-item d:\2.txt
Get-Item : 找不到項 D:\2.txt。
所在位置 行:1 字符: 9
+ get-item <<<<  d:\2.txt
    + CategoryInfo          : ObjectNotFound: (D:\2.txt:String) [Get-Item], IO
   Exception
    + FullyQualifiedErrorId : ItemNotFound,Microsoft.PowerShell.Commands.GetIt
   emCommand


這個提示似乎很明確的告訴我們,找不到D:\2.txt這個文件。真的沒有這個文件嗎?不是的!這個文件之前被我設置了隱藏屬性的系統屬性,待我把它去掉試試。

復制代碼 代碼如下:

PS C:\Users\splaybow> attrib -h -s d:\2.txt
PS C:\Users\splaybow> get-item d:\2.txt
    目錄: D:\
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-ar--        2013/11/11     20:04          6 2.txt


這下子就找到該文件了。另外,大家可以出輸出結果中看到Mode這部分,“ar”表示,該文件上還有存檔屬性和只讀屬性。我們也可以通過下面的命令來查看文件的屬性:

復制代碼 代碼如下:

PS C:\Users\splaybow> $file = Get-Item d:\2.txt
PS C:\Users\splaybow> $file.Mode
-ar--


關于文件的五種屬性,洪哥就不再介紹了,有興趣的朋友可以參考attrib的那篇文章。

 

二、設置文件屬性

現在我們測試去掉文件上的只讀屬性,要用到文件對象的IsReadOnly屬性。

復制代碼 代碼如下:

PS C:\Users\splaybow> $file.IsReadOnly = $false
PS C:\Users\splaybow> $file.Mode
-a---


從這個結果上看,是不是r(只讀)沒有了?!要想重新加回來,再把IsReadOnly設置為$true即可。

 

聰明如洪哥者,一定會想,隱藏屬性是不是可以通過$file對象的IsHidden來控制呢?呵呵,我們想錯了。要想知道$file對象有哪些屬性和方法,可以使用“$file | Get-Member”這個命令來查看。當然,任何對象,我們想知道它有哪些方法和屬性,都可以通過“<對象變量> | Get-Memeber”的方式去獲取。

不要扯遠了,如何設置只讀外的其它屬性呢,那就只能使用Attributes屬性了。且看下面的例子:

復制代碼 代碼如下:

PS C:\Users\splaybow> $file.Attributes = "Readonly","system","notcontentindexed","hidden","archive"
PS C:\Users\splaybow> $file.mode
-arhs
PS C:\Users\splaybow> $file.Attributes
ReadOnly, Hidden, System, Archive, NotContentIndexed


上面的例子展示如何設置文件的只讀屬性、隱藏屬性、系統屬性、存檔屬性、無內容索引屬性等。需要注意的是Mode屬性和Attributes屬性有一點區別,那就是Mode中貌似不會顯示出無內容存檔屬性(I)來。

 

三、修改文件屬性

上面講的是一次性為文件設置一組屬性,這樣很簡單,但也很粗暴。如果只想給他增加一個ReadOnly屬性,其它的原屬性不變,怎么操作呢?

在PowerShell中,可以將文件的屬性當作一個二進制數組,使用二進制的按位或(bOR)操作符來運算一下就好了。且看例子:

復制代碼 代碼如下:

PS C:\Users\splaybow> $file = Get-Item d:\2.txt
PS C:\Users\splaybow> $file.Attributes="hidden"
PS C:\Users\splaybow> $readonly = [System.IO.FileAttributes] "ReadOnly"
PS C:\Users\splaybow> $file.Attributes=$file.Attributes -bor $readonly
PS C:\Users\splaybow> $file.Attributes
ReadOnly, Hidden


上面例子中,文件本身只有一個隱藏屬性,后面給它添加了一個只讀屬性,結果變更為隱藏、只讀雙屬性。如果是要去掉其中一個屬性呢?可惜沒有按位非的操作符,怎么實現就留給大家思考。

 

關于PowerShell設置文件只讀、隱藏和系統屬性,本文就介紹這么多,希望對您有所幫助,謝謝!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好男人资源免费播放 | 亚洲成人视屏 | 91亚洲精品国产自在现线 | 亚洲欧美日韩一区成人 | zozzozozozo大| 男人女人叉叉叉 | 日本特黄一级午夜剧场毛片 | gay 男同志被捆绑茎 | 免费看一区二区三区 | 久久一er精这里有精品 | 国模娜娜a4u1546全套 | 好吊操这里有精品 | 欧美精品久久一区二区三区 | 国产精品一区二区三区久久 | 欧美日韩免费一区二区在线观看 | 亚洲色图第一页 | 草草影院在线 | 国产欧美日韩图片一区二区 | 日韩在线资源 | 日韩国产成人精品视频人 | 美女和男人一起差差 | 久久精品熟女亚洲AV国产 | 狠狠色婷婷日日综合五月 | 美女把小内内脱个精光打屁屁 | 亚洲美色综合天天久久综合精品 | 国产成人lu在线视频 | 色综合久久综精品 | 按摩院已婚妇女中文字幕 | 国产麻豆剧果冻传媒影视4934 | 午夜宅男影院 | 日韩欧美一区二区三区视频 | 91免费高清无砖码区 | 久久偷拍人 | 2021精品国夜夜天天拍拍 | sxx免费看视频在线播放 | 免费大秀视频在线播放 | 免费人成网址在线观看国内 | 国内精品久久久久影院网站 | 四虎最新网址在线观看 | 亚洲欧美日韩中文高清一 | 女同学用白丝脚玩我的故事 |