仿照unix操作系统中的find命令,在windows上实现一个find命令。find命令从指定的目录下开始,递归地查找指定文件。其命令格式如下:
find PATH -option 参数 [-print] [-exec 命令 {} /;]
PATH:查找的起始目录。
-option 参数:用来控制搜索方式,具体如下(以下只给我常用的):
-name "文件":指定要查找的文件名,可以有通配符?*等。
-prune 目录:指出搜索时不搜索该目录。
-mtime +n或-n:按时间搜索,+n:表示n天之前修改过的文件;-n:表示今天到n天前之间修改过的文件。
-ctime +n或-n:也是按时间查找,+n:表示n天之前创建的文件;-n:表示今天到n天前之间创建的文件。
-mulstream:如果是多流的文件,查找流的名字
-print:将搜索结果输出到标准输出。
提示:有关多流文件的介绍,请看文档。其他相关的API请查看MSDN.
可选的实验1:实现-exe选项。
-exec:对查找到的每一个结果实行指定的程序。格式如下:
-exec 程序名
提示:执行指定的程序可以创建一个进程执行
可选的实验:
将你实现的find命令改为用多线程的方式实现。比较多线程实现的find与单线程实现的find的执行结果、效率等,并在实验报告中给出你的解释。
File Attributes
File attributes are metadata values stored by the file system on disk and are used by the system and are available to developers via various file I/O APIs. For a list of related APIs and topics, see the See Also section.
The following table lists file attribute constant names and values with descriptions.
Name |
Value(Dec) |
Value(Hex) |
Description |
FILE_ATTRIBUTE_ARCHIVE |
32 |
0x0020 |
A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal. |
FILE_ATTRIBUTE_COMPRESSED |