如何使用 PowerShell 更改文件和文件夹属性?
powershellmicrosoft technologiessoftware & coding更新于 2026/2/10 13:22:17
Windows 操作系统支持多种文件和文件夹属性。要检查文件和文件夹支持的属性,请使用 DOS 命令 attrib /?

您可以看到列出的属性,例如 Read-Only、Archive 等。您可以使用 PowerShell 设置这些属性。
例如,我们有一个名为 TestFile.txt 的文件,其属性为 ReadOnly,我们需要将其更改为 Archive。
PS C:\> (Get-ChildItem C:\Temp\TestFile.txt).Attributes ReadOnly
更改属性代码 −
$file = Get-ChildItem C:\Temp\TestFile.txt $file.Attributes = 'Archive'
因此,我们将属性从 ‘ReadOnly’ 设置为 ‘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 参数。

