如何使用 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.