隐藏文件 | windows下文件与文件夹的探索

最近在整理文件的时候,遇到了一些隐藏文件与打不开文件夹的问题,正好写篇博客整理一下

系统环境

  • windows10

隐藏文件

1、基于隐藏属性的隐藏

windows下面隐藏文件最简单的莫过于直接在资源管理器里面,直接给予属性隐藏
在这里插入图片描述
但是,如果我们的资源管理器打开了显示隐藏文件,这种做法就会无效
在这里插入图片描述
当然,反过来想,如果我们不打开显示,是不是就可以做到隐藏了呢?当然

通过bat脚本去强制锁定注册表中不显示的设置,就可以做到,晚上分享的挺多的,这里略了(其实一直保持不显示,也挺不方便)

2、基于attrib命令属性赋予

cmd下面我们可以使用attrib来操作文件的各种属性,attrib的使用帮助如下:
在这里插入图片描述
赋予文件隐藏属性

attrib +s +h filename

解除隐藏属性

attrib -s -h filename

查看文件属性

attrib filename

dir /a

当然,上述方法应用于cmd,powershell可以使用下面的命令

# 查看文件以及属性
get-childitem --force 
get-childitem -force
    目录: D:\test\111


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         2020/3/4     17:09          33642 1.txt

powershell对get-childitem还做了别名,使用效果是一致的:

扫描二维码关注公众号,回复: 11675453 查看本文章
  • gci
  • ls
  • dir

powershell下当然也是可以对文件的权限进行修改,不过比cmd下的attrib就要麻烦一些,需要的是变量赋值思路(毕竟面向对象语言),代码如下:

$filename = get-item .\1.txt

❯ $filename.mode
-a----$filename.Attributes
Archive

❯ $filename.Attributes = "archive","hidden","system"

文件夹的隐藏

基于特殊后缀的隐藏

其实也就是clsid,windows组件对象的唯一标识号

A CLSID is a globally unique identifier that identifies a COM class object. If your server or container allows linking to its embedded objects, you need to register a CLSID for each supported class of objects.

使用方法,直接添加上后缀即可
在这里插入图片描述
查看文件其实也很简单,和上面一样

解除后缀名需要在cmd使用rename命令,poweshell略了

rename "d:/test/111.{450D8FBA-AD25-11D0-98A8-0800361B1103}" "111"

当然,空文件夹名,利用rename也可以实现

rename "d:/test/111.{450D8FBA-AD25-11D0-98A8-0800361B1103}" " .{450D8FBA-AD25-11D0-98A8-0800361B1103}"

常见clsid如下:

名称 CLSID
我的文档 {450D8FBA-AD25-11D0-98A8-0800361B1103}
我的电脑 {20D04FE0-3AEA-1069-A2D8-08002B30309D}
网上邻居 {208D2C60-3AEA-1069-A2D7-08002B30309D}
回收站 {645FF040-5081-101B-9F08-00AA002F954E}
InternetExplorer {871C5380-42A0-1069-A2EA-08002B30309D}
控制面板 {21EC2020-3AEA-1069-A2DD-08002B30309D}
拨号网络/网络连接 {992CFFA0-F557-101A-88EC-00DD010CCC48}
任务计划 {D6277990-4C6A-11CF-8D87-00AA0060F5BF}
打印机(和传真): {2227A280-3AEA-1069-A2DE-08002B30309D}
历史文件夹 {7BD29E00-76C1-11CF-9DD0-00A0C9034933}
ActiveX缓存文件夹 {88C6C381-2E85-11D0-94DE-444553540000}
公文包 {85BBD920-42A0-1069-A2E4-08002B30309D}

..后缀文件与文件夹的删除

可能还有…这种目录隐藏方法,其实那不是目录隐藏,可以理解成软连接指向了

如果你遇到…这种后缀,或者空格后缀的文件,无法删除,进windows下子系统bash,切换到该目录,rm即可删除

windows无法删除这些文件或者文件夹,是因为文件名包括 Win32 命名空间中的无效名称,你用windows的命令去删除的时候,他会解析指向一个不存在的文件夹或文件,所以找不到该文件

猜你喜欢

转载自blog.csdn.net/wy_97/article/details/104673497