29

Is there a way to have Windows automatically hide any file that is dot prefixed (e.g. ".svn"), as it's done in Linux?

3 Answers 3

20

After some problems (the attrib command doesn't allow some wildcards) I came up with this line:

@for %%X in (.*.*) do attrib +h %%X

Just put it a Batch File (.bat) and it does the trick (for that directory).

If you want this for a few directies, just set it to run once a day on that directories.

Hope this is what you need.

3
  • 5
    If you want to do directories, add a second line @for /d %%X in (.*.*) do attrib +h %%X
    – Brian B
    Sep 27, 2012 at 17:22
  • You can run that directly from cmd, just cd to parent folder you want and then run without double percents, just one: >@for /D %X in (.*) do attrib +h %X Oct 11, 2016 at 12:15
  • best answer I've found May 5, 2017 at 12:21
7

Using Powershell save the following in a script file (e.g. hidedotfiles.ps1) and run it whenever you wan't to hide dot files.

Of course the following one-liner can be simplified by using aliases and "-f for "-force" and "-r" for "-recurse" but to be instructive I have written it out in full form:

Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)

Basically Get-ChildItem -recurse -force gets all the items and searches recursevly in all folders forcing hidden items to show up. Then we search for files and folders that start with the dot and select only the files that have a hidden attribute. After we have listed all the files we set their attributes to hidden by using Set-ItemProperty.

1
  • 2
    Both Where-Object and Set-ItemProperty is unecessary. It can just as well be done like Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }.
    – emptyother
    Nov 11, 2019 at 20:17
5

To hide all dot file/directories on a disk (rather than in a single directory), I find this answer works best:

ATTRIB +H /s /d C:\.*

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .