You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置PowerShell目录只读属性后目录消失,如何恢复其在资源管理器中的显示?

设置PowerShell目录只读属性后目录消失,如何恢复其在资源管理器中的显示?

嘿,我懂你这糟心的情况——本来想给目录加个只读属性,结果它直接在资源管理器里“隐身”了,这其实是因为你操作属性的方式踩坑了。

问题根源

你之前用(Get-Item Nextcloud).Attributes += 'ReadOnly'这个命令是错的!Attributes是枚举类型,不是普通字符串,用+=会把属性值当成字符串拼接,导致原本的属性集合被搞乱成无效值,系统识别不了这个目录,自然就显示不出来了。而且你的目录原本就已经有ReadOnly属性了,根本不需要重复添加。

恢复步骤

别慌,通过PowerShell就能把它找回来,按下面的步骤操作:

  1. 先切换到目录所在的父文件夹(也就是你的Documents目录):
cd C:\Users\jaboja\Documents
  1. 强制获取这个“隐身”的目录对象(因为系统现在识别有问题,需要加-Force参数):
$targetDir = Get-Item -Path .\Nextcloud -Force
  1. 重置它的属性为正确的组合,这里我们用枚举的按位或(-bor)来设置,避免字符串拼接的错误:
# 先设置基础属性:目录、系统、存档、重解析点,再加上只读
$targetDir.Attributes = [IO.FileAttributes]::Directory -bor [IO.FileAttributes]::System -bor [IO.FileAttributes]::Archive -bor [IO.FileAttributes]::ReparsePoint -bor [IO.FileAttributes]::ReadOnly
  1. 最后保存更改:
$targetDir | Set-Item

执行完这些命令后,回到资源管理器按F5刷新一下,那个消失的目录就会重新显示出来了。

以后正确设置只读属性的方式

如果以后还要给目录加只读属性,记得用枚举的按位或操作,而不是+=:

$item = Get-Item -Path .\Nextcloud
$item.Attributes = $item.Attributes -bor [IO.FileAttributes]::ReadOnly
$item | Set-Item

这样就不会再出现目录消失的问题啦!

备注:内容来源于stack exchange,提问作者jaboja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:28:13