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

您所在的位置:网站首页 文件夹怎么设置为存档和只读属性 CMD中使用attrib命令设置文件只读、隐藏属性详解

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

2023-03-13 17:24| 来源: 网络整理| 查看: 265

本文介绍一个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设置文件只读、隐藏和系统属性,本文就介绍这么多,希望对您有所帮助,谢谢!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3