CMD中使用attrib命令设置文件只读、隐藏属性详解

bat cmd 同时被 2 个专栏收录
4 篇文章 0 订阅
18 篇文章 0 订阅

本文介绍一个cmd下的一个attrib.exe的小程序,它可以用来设置文件的属性。我们知道文件的属性有只读、隐藏、系统、存档和无内容索引等5个,只读和隐藏用得比较多,另外三个用得比较少。

不知道大家有没有用过attrib.exe这个cmd下的小程序,它可以用来设置文件的属性。先来看看它的帮助文件。

C:\Users\splaybow>help attrib
显示或更改文件属性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
       [drive:][path][filename] [/S [/D] [/L]]
  + 设置属性。
  - 清除属性。
  R 只读文件属性。
  A 存档文件属性。
  S 系统文件属性。
  H 隐藏文件属性。
  I 无内容索引文件属性。
  [drive:][path][filename]
      指定 attrib 要处理的文件。
  /S 处理当前文件夹及其所有子文件夹中的匹配文件。
  /D 也处理文件夹。
  /L 处理符号链接和符号链接目标的属性。


C:\Users\splaybow>help attrib
显示或更改文件属性。
我们用一个例子来看看如何使用attrib设置文件的属性。

第一步,先使用echo命令来创建一个文件:d:\2.txt

C:\Users\splaybow>echo xxxx>d:\2.txt
创建文件成功后,将不会有任何提示。

第二步,为d:\2.txt文件添加一个隐藏属性和一个只读属性。

C:\Users\splaybow>attrib +r +h d:\2.txt
设置文件属性成功后,也不会有任何提示。

第三步,显示d:\2.txt的文件属性。

C:\Users\splaybow>attrib d:\2.txt
A   HR       D:\2.txt
我们可以看到当前文件中存在存档(A)、隐藏(H)、R(只读)三种属性。这里大家可能想问,为什么会有存档(A)属性的存在呢?这个我也解释不了,估计在使用echo创建文件时,文件就已经有存档(A)属性了。

第四步,我再来看看把存档、隐藏、只读、系统、无内容索引五个属性全部加上的效果。

C:\Users\splaybow>attrib +a +s +r +i +h d:\2.txt
设置文件属性成功后,不会有任何提示。

第五步,查看一下最后的文件属性

C:\Users\splaybow>attrib d:\2.txt
A  SHR  I    D:\2.txt
这样看到了,五个属性全部上去了。

 

最后总结如下几点:
1、如果要给文件加属性使用“attrib +标记1 +标记2 ... <文件路径和名称>”这样的语法格式。
2、如果要给文件去掉一些属性,把第1条中的加号(+)换成减号(-)即可。
3、如果要查看当前文件有存档、隐藏、只读、系统、无内容索引五种属性中的哪些,可以使用“attrib <文件路径和名称>”这样的语法格式。
4、这些属性有什么意义呢?隐藏就是隐藏起来,但使用显示隐藏的开关还可以看得到。加了系统属性后,显示隐藏也看不到,必须要显示系统文件才能看到。只读代表不能修改和删除,但有一些命令可以强制删除或修改只读文件。
5、以下三条命令说明,如果文件同时有系统属性和隐藏属性,如果想要去掉其中一个,必须两个先同时都去掉。

 

PS C:\Users\splaybow> attrib -h d:\2.txt
未重置系统文件 - D:\2.txt
PS C:\Users\splaybow> attrib -s d:\2.txt
未重置隐藏文件 - D:\2.txt
PS C:\Users\splaybow> attrib -s -h d:\2.txt

另,我们在安装完文件之后,可能有一些文件(配置文件等)不想让用户知道,或者修改,需要设置隐藏和只读

如果你刚好用的也试NSIS 打包,下面的东西下或许对你有用

NSIS 打包windows 安装包,参考链接

NSIS:设置安装后文件属性的方法

在NSIS中,有以下方法可以对文件的属性进行设置。

 

一是通过NSIS的指令SetFileAttributes。

 

多重属性可用 ' | ' 隔开,有效的属性为:

NORMAL 或 FILE_ATTRIBUTE_NORMAL (你可以把该项缩写为 0 )

ARCHIVE 或 FILE_ATTRIBUTE_ARCHIVE

HIDDEN 或 FILE_ATTRIBUTE_HIDDEN

OFFLINE 或 FILE_ATTRIBUTE_OFFLINE

READONLY 或 FILE_ATTRIBUTE_READONLY

SYSTEM 或 FILE_ATTRIBUTE_SYSTEM

TEMPORARY 或 FILE_ATTRIBUTE_TEMPORARY

 

例如:

SetFileAttributes 文件名 属性1|属性2|...

 

轻狂注:如果你想移除的话请使用 NORMAL 。这样所有的属性都会被擦除,该命令不支持通配符。

 

二是直接调用系统attrib
 

attrib指令的格式和常用参数为:

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]

+ 设置属性。

- 清除属性。

R 只读文件属性。

A 存档文件属性。

S 系统文件属性。

H 隐藏文件属性。

I 无内容索引文件属性。

[drive:][path][filename]

指定要处理的文件属性。

/S 处理当前文件夹及其子文件夹中的匹配文件。

/D 也处理文件夹。

/L 处理符号链接和符号链接目标的属性。

 

例如:

nsExec::Exec “attrib +h 文件路径”

Nsis打包程序,设置开机自启动:

同样写注册表键值:

WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run""OTR" "$INSTDIR\OTR.exe"


卸载的时候删除该键值:

DeleteRegValue HKCU"Software\Microsoft\Windows\CurrentVersion\Run" "OTR"

关于使用attrib设置文件只读、隐藏和系统属性,本文就介绍这么多,希望对您有所帮助,谢谢!

  • 1
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值