码迷,mamicode.com
首页 > Windows程序 > 详细

Linux删除以破折号开头的文件Windows在批处理文件来删除隐藏属性

时间:2015-07-08 09:22:03      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

昨天去打印店打印的材料。结果中毒。所有的文件被隐藏。生成一个一堆快捷键。回来后。我很容易地把它放入Linux机,我想删除这些文件怪。

下面是该过程,遇到的问题。

1、您无法删除‘-’该文件的开头

最初看到很多windows下一个.lnk结尾的快捷方式文件,所以,直接简单粗暴的用rm -rf *.lnk 删除,结果报错。为了说明情况,我以下做了一个样例,文件夹中仅仅有一个名为“-a.txt”的文件。运行以下的命令,报错信息例如以下:

rm *.txt
rm: invalid option -- 'a'
Try `rm ./-a.txt' to remove the file `-a.txt'.
Try `rm --help' for more information.

依据提示。能够知道。要想删除‘-’开头的文件,能够採用rm ./-a.txt的方式,或者能够查看rm --help,以下是rm --help中摘录的部分信息。

To remove a file whose name starts with a `-', for example `-foo',
use one of these commands:
  rm -- -foo
  rm ./-foo
从中能够看出,要想删除这种文件。也能够採用rm -- -foo的形式。实际上,这种方式更加方便,我直接rm -- *.lnk就成功把全部的文件都给删掉了。

至于为什么会这样?假设你尝试创建一个‘-’开头的文件就知道了。

$ touch -a.txt
touch: invalid option -- '.'
Try `touch --help' for more information.
不难看出,系统将‘-’理解为是一个选项的打头标志,所以会提示不支持选项‘.’。

你可能会纳闷。为什么不提示不支持选项a呢?由于a正好是touch的一个选项。意思是仅仅改动文件的訪问时间。^_^

2、批量改动文件的隐藏属性

接下来将U盘查到windows的电脑上,发现全部的文件都被设置成了隐藏属性,而且没法通过属性改动。详细例如以下图:

技术分享

以下就是命令行发挥作用的时候了,windows命令行中有一个attrib命令。在cmd中执行“help attrib”,能够得到关于它的帮助,例如以下:

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

  +   设置属性。
  -   清除属性。
  R   仅仅读文件属性。

A 存档文件属性。 S 系统文件属性。 H 隐藏文件属性。 I 无内容索引文件属性。 X 无清理文件属性。 V 完整性属性。

[drive:][path][filename] 指定 attrib 要处理的文件。 /S 处理当前目录 及其全部子目录中的匹配文件。

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

不难想象,之所以通过系统界面没法直接改动隐藏属性,肯定是病毒将文件加入了系统文件和隐藏文件的属性,这里我们将它去掉就能够了,用命令“attrib -H -S /S /D *”就可以。事实上。这里的S的意思是Sytem,表示系统文件熟悉ing,而H代表Hide,表示隐藏文件属性,很好记。从这里能够看出。命令操作相对于界面的简洁性。这也许也是windows更新了这么多带一值保留cmd的原因吧^_^



版权声明:本文博客原创文章。博客,未经同意,不得转载。

Linux删除以破折号开头的文件Windows在批处理文件来删除隐藏属性

标签:

原文地址:http://www.cnblogs.com/bhlsheji/p/4629120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!