如何使用 PowerShell 更改檔案和資料夾屬性?


Windows 作業系統支援多種檔案和資料夾屬性。要檢查檔案和資料夾支援哪些屬性,請使用 DOS 命令 attrib /?

您可以看到列出的屬性,例如 只讀存檔等。您可以使用 PowerShell 設定屬性。

例如,我們有一個名為 TestFile.txt 的檔案,其屬性為 只讀,我們需要將其更改為 存檔

PS C:\> (Get-ChildItem C:\Temp\TestFile.txt).Attributes
ReadOnly

更改屬性程式碼 -

$file = Get-ChildItem C:\Temp\TestFile.txt
$file.Attributes = 'Archive'

因此,我們已將屬性從 ‘只讀’ 設定為 ‘存檔’,當您檢查它時,屬性應該已更改。

PS C:\> (Get-ChildItem C:\Temp\TestFile.txt).Attributes
Archive

要設定多個屬性,您可以用逗號分隔值。例如,

$file = Get-ChildItem C:\Temp\TestFile.txt
$file.Attributes = 'Archive','ReadOnly'
(Get-ChildItem C:\Temp\TestFile.txt).Attributes
ReadOnly, Archive

類似地,您可以更改資料夾的屬性。例如,

$folder = Get-Item C:\Temp
$folder.Attributes = 'Directory','Hidden'

我們現在將檢查資料夾屬性。此資料夾是隱藏的,因此我們需要使用 -Hidden 引數。

PS C:\> (Get-ChildItem C:\Temp\ -Hidden).Attributes
Hidden, Directory

要更改同一資料夾中多個檔案的屬性,您需要使用 foreach 迴圈。例如,

Get-ChildItem C:\Test1\ -Recurse | foreach{$_.Attributes = 'Hidden'}

當我們檢查它們的值時,它們應該被隱藏。

PS C:\> Get-ChildItem C:\Test1 -Recurse -Force

Directory: C:\Test1

Mode      LastWriteTime     Length Name
----      -------------     ------ ----
---h--    8/28/2020 7:27 AM 11 File1.txt
---h--    8/28/2020 7:49 AM 11 File2.txt

-Recurse 引數用於從子資料夾中檢索資料。如果您只需要父資料夾資料屬性更改,則刪除 -Recure 引數。

更新於:2020年10月16日

9K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.