更改 NTFS 只读属性是否会重写文件?

更改 NTFS 只读属性是否会重写文件?

更改 NTFS 只读属性是否会重写文件?

我使用此命令递归地在每个文件中设置只读:Get-ChildItem -Path "D:\Alphabetic\W-Z\XYZ" -File -Recurse | foreach {$_.IsReadOnly = $true}这花了几分钟时间 - 比我预期的要长得多。它是在文件本身内更新元数据还是在单独的元数据文件存储中更新元数据?每个文件的数据都被覆盖了吗?

我读改变文件的属性也会改变其时间戳吗?但我不清楚这是否回答了我的问题。

答案1

cmd不。使用命令设置的文件属性attrib(与您的 powershell 代码所做的相同)写在文件分配表中,而不是文件本身。

请记住,对一个文件进行小幅修改可能只对一个文件来说很快,但如果对许多文件进行此操作,则可能会很慢,因为对一个文件进行多次修改要比对许多文件进行一次修改快得多。即使对于 SSD 也是如此。

相关内容