基本上我想要的是隐藏所有名为:
- .gitignore
- gradle
- gradle.bat
- *.iml
- *.ipr
- *.iws
- .classpath
- 。项目
但我想要它们对于我的所有项目,无论它们位于硬盘的哪个位置,默认情况下都是隐藏的,并且不需要为任何文件设置隐藏属性。
我只想要一条规则或类似“不显示系统文件”的东西,但是可以自定义的规则,这样我就可以知道我想隐藏哪些文件。
笔记:我只使用 Windows 资源管理器进行导航。
答案1
我喜欢 Dave Rook 的回答,并想出了一个更简单的解决方案......
对于每个要求,只需转到根驱动器并输入
attrib (filetype) /S +h
例如
attrib *.ipr /S +h
将使所有 ipr 文件成为所有子目录中的隐藏文件。
但是,这个答案或 Dave Rook 的答案都不符合您的“自动”要求,尤其是不符合不设置隐藏标志的要求。
如果您想隐藏它们而不设置隐藏属性,我能想到的唯一方法是通过 shell 扩展来将其从资源管理器中隐藏起来 - 但是,这是一个非常危险的事情,因为这是一个安全风险在你的机器上/你开始进入 rootkit 的领域....你需要自己编写一些程序,然后将其添加到注册表中。
答案2
您可以使用批处理脚本来执行此操作 -http://www.xxcopy.com/xxcopy06.htm
理论上,您将循环遍历系统文件以查找特定扩展名,并在找到后更改属性。尽管该属性是 H(代表隐藏)!
关于如何在批处理脚本中循环的教程有很多。此代码查找文件具有特定扩展名,然后复制它们 - 您可以编辑它,删除复制部分并添加属性代码
未经测试,但类似于(您必须运行它多次,更改设置 ftype=*.Extension
set dSource=C:\Main directory\sub directory
set dTarget=D:\Documents
set fType=*.doc
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (
attrib /d +s +h "%%f"
)
如果上述代码不起作用,那么您可能必须将文件复制到其自身(覆盖自身),并在复制时更改属性类型。