操作系统实验三:实现一个文件查找程序

仿照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

2048

0x0800

A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories.

FILE_ATTRIBUTE_DEVICE

64

0x0040

This value is reserved for system use.

FILE_ATTRIBUTE_DIRECTORY

16

0x0010

The handle that identifies a directory.

FILE_ATTRIBUTE_ENCRYPTED

16384

0x4000

A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories.

FILE_ATTRIBUTE_HIDDEN

2

0x0002

The file or directory is hidden. It is not included in an ordinary directory listing.

FILE_ATTRIBUTE_NORMAL

128

0x0080

A file that does not have other attributes set. This attribute is valid only when used alone.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

8192

0x2000

The file or directory is not to be indexed by the content indexing service.

FILE_ATTRIBUTE_OFFLINE

4096

0x1000

The data of a file is not available immediately. This attribute indicates that the file data is physically moved to offline storage. This attribute is used by Remote Storage, which is the hierarchical storage management software. Applications should not arbitrarily change this attribute.

FILE_ATTRIBUTE_READONLY

1

0x0001

A file that is read-only. Applications can read the file, but cannot write to it or delete it. This attribute is not honored on directories. For more information, see "You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, or in Windows Vista".

FILE_ATTRIBUTE_REPARSE_POINT

1024

0x0400

A file or directory that has an associated reparse point, or a file that is a symbolic link.

FILE_ATTRIBUTE_SPARSE_FILE

512

0x0200

A file that is a sparse file.

FILE_ATTRIBUTE_SYSTEM

4

0x0004

A file or directory that the operating system uses a part of, or uses exclusively.

FILE_ATTRIBUTE_TEMPORARY

256

0x0100

A file that is being used for temporary storage. File systems avoid writing data back to mass storage if sufficient cache memory is available, because typically, an application deletes a temporary file after the handle is closed. In that scenario, the system can entirely avoid writing the data. Otherwise, the data is written after the handle is closed.

FILE_ATTRIBUTE_VIRTUAL

65536

0x10000

This value is reserved for system use.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章