如何通过.bat或.ps脚本开启"显示隐藏的文件和文件夹"选项
核心错误点
你使用Get-ChildItem的方向完全错误:该cmdlet仅用于枚举指定路径下的文件/文件夹对象,即使添加-Force参数也只是在当前PowerShell会话的查询结果中展示隐藏项,完全不会修改Windows资源管理器的全局显示配置。
实现方案
该需求完全可以通过修改注册表实现,两种脚本的单行实现方式如下:
PowerShell 版本
# 仅开启显示隐藏文件/文件夹,修改后立即生效 Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'Hidden' -Value 1 -Type DWord; Stop-Process -Name explorer -Force
如果需要同时显示受保护的操作系统文件,使用如下版本:
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'Hidden' -Value 1 -Type DWord; Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowSuperHidden' -Value 1 -Type DWord; Stop-Process -Name explorer -Force
批处理(.bat)版本
:: 仅开启显示隐藏文件/文件夹,修改后立即生效 reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f & taskkill /f /im explorer.exe & start explorer.exe
如果需要同时显示受保护的操作系统文件,使用如下版本:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t REG_DWORD /d 1 /f & reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowSuperHidden /t REG_DWORD /d 1 /f & taskkill /f /im explorer.exe & start explorer.exe
注意事项
- 以上配置仅针对当前登录用户生效,不会影响设备上的其他用户账户
- 如果不需要立即生效,删除命令中重启explorer进程的部分即可,配置会在用户下次登录或手动重启资源管理器后生效
内容的提问来源于stack exchange,提问作者Evolver
相关产品推荐
相关产品推荐

