有没有办法让 Windows 自动隐藏任何以点为前缀的文件(例如“.svn”),就像在 Linux 中一样?
答案1
解决一些问题之后(attrib 命令不允许某些通配符),我想出了这一行:
@for %%X in (.*.*) do attrib +h %%X
只需将其批处理文件(.bat)并且它可以解决这个问题(对于该目录)。
如果您希望此功能适用于几个目录,只需将其设置为每天在这些目录上运行一次。
希望这就是您所需要的。
答案2
使用 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 将其属性设置为隐藏。
答案3
为了隐藏磁盘上的所有点文件/目录(而不是单个目录中),我发现这个答案效果最佳:
ATTRIB +H /s /d C:\.*