Answers:
在出现一些问题(attrib命令不允许使用通配符)之后,我想到了这一行:
@for %%X in (.*.*) do attrib +h %%X
只需将其放入一个批处理文件(.bat),它就可以完成该操作(针对该目录)。
如果您希望这样做有几个方向,只需将其设置为每天在该目录上运行一次。
希望这是您所需要的。
使用Powershell将以下内容保存在脚本文件中(例如hidedotfiles.ps1),并在您不想隐藏点文件时运行它。
当然,以下别名可以通过使用别名和“ -f表示“ -force”而将“ -r”表示“ -recurse”来简化),但是为了说明起见,我以完整的形式编写了它:
Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)
基本上,Get-ChildItem -recurse -force会获取所有项目,并在所有文件夹中递归搜索,从而强制显示隐藏项目。然后,我们搜索以点开头的文件和文件夹,并仅选择具有隐藏属性的文件。列出所有文件后,我们使用Set-ItemProperty将其属性设置为隐藏。
Where-Object
和Set-ItemProperty
都是不必要的。可以像一样完成它Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }
。
要隐藏磁盘上的所有点文件/目录(而不是单个目录),我发现此答案最有效:
ATTRIB +H /s /d C:\.*
@for /d %%X in (.*.*) do attrib +h %%X