专栏首页方亮WMI技术介绍和应用——查询文件夹信息

WMI技术介绍和应用——查询文件夹信息

        本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。

        本节主要介绍Win32_Directory类。通过该类我们将可以获得部分常用的文件夹信息。在该类中,有属性Name,该属性标志文件的路径。由于尝试枚举文件夹是非常耗时的。本文将介绍如何获取指定文件夹的信息。(转载请指明出于breaksoftware的csdn博客)

如何使用WMI获取指定文件夹的访问属性?

SELECT AccessMask FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        该属性若干属性的'或'运算的结果。

Value

Meaning

FILE_READ_DATA (file), FILE_LIST_DIRECTORY (directory) 0 (0x0)

Grants the right to read data from the file. For a directory, this value grants the right to list the contents of the directory.

FILE_WRITE_DATA (file), FILE_ADD_FILE (directory) 1 (0x1)

Grants the right to write data to the file. For a directory, this value grants the right to create a file in the directory.

FILE_APPEND_DATA (file), FILE_ADD_SUBDIRECTORY 4 (0x4)

Grants the right to append data to the file. For a directory, this value grants the right to create a subdirectory.

FILE_READ_EA 8 (0x8)

Grants the right to read extended attributes.

FILE_WRITE_EA 16 (0x10)

Grants the right to write extended attributes.

FILE_EXECUTE (file), FILE_TRAVERSE (directory) 32 (0x20)

Grants the right to execute a file. For a directory, the directory can be traversed.

FILE_DELETE_CHILD 64 (0x40)

Grants the right to delete a directory and all of the files it contains (its children), even if the files are read-only.

FILE_READ_ATTRIBUTES 128 (0x80)

Grants the right to read file attributes.

FILE_WRITE_ATTRIBUTES 256 (0x100)

Grants the right to change file attributes.

DELETE 65536 (0x10000)

Grants delete access.

READ_CONTROL 131072 (0x20000)

Grants read access to the security descriptor and owner.

WRITE_DAC 262144 (0x40000)

Grants write access to the discretionary ACL.

WRITE_OWNER 524288 (0x80000)

Assigns the write owner.

SYNCHRONIZE 1048576 (0x100000)

Synchronizes access and allows a process to wait for an object to enter the signaled state.

ACCESS_SYSTEM_SECURITY 18809343 (0x11F01FF)

Controls the ability to get or set the SACL in an object's security descriptor.

        可以见得,我们这个文件夹是ACCESS_SYSTEM_SECURITY属性。此处要注意下该路径的写法,不能写成C:\\Program Files,而要写成C:\\\\Program Files。

如何使用WMI判断指定文件夹是否有存档属性?

SELECT Archive FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        该属性是DOS系统遗留下来的,但是我们依然可以在系统中设置它。

如何使用WMI判断指定文件夹是否有可压缩属性?

SELECT Compressed FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        当我们磁盘空间不足时,系统将会对该磁盘中文件进行扫描

        扫描结果中我们可以看到“”就是指标有压缩属性的文件夹。

        我们可以在

        中进行设置。

如何使用WMI判断指定文件夹是否有加密属性?

SELECT Encrypted FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        该属性我们可以在

        中设置。

        该属性还是很有意思的。如果这个文件夹被加上了这个属性,那么本机的其他用户将无法访问该文件夹。如果我们把这个文件夹拷贝到另外一台电脑上,除非在有证书的情况下,否则无法打开这个文件夹。一般,如果我们发现我们电脑上某个文件或者文件夹的名字是蓝色的,那它往往就是被压缩或者被加密的文件或文件夹。

如何使用WMI获取指定文件夹的创建时间?

SELECT CreationDate FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        可以见得我们这个文件是2008年6月18日21时15分14秒创建的。该串最后+480,是标志我们是东八区(60*8)。

如何使用WMI获取指定文件夹的最后访问时间?

SELECT LastAccessed FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        该时间接近我在写这边文章的时间。

如何使用WMI获取指定文件夹的最后修改时间?

SELECT LastModified FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

如何使用WMI判断指定文件夹是否可读?

SELECT Readable FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

        为True代表可读。

如何使用WMI判断指定文件夹是否可写?

SELECT Writeable FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

如何使用WMI判断指定文件夹是否有隐藏属性?

SELECT Hidden FROM Win32_Directory WHERE Name = 'c:\\\\Program Files'

       工程源码见《WMI技术介绍和应用——WMI概述》结尾。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 同步、异步、堵塞、非堵塞和函数调用及I/O之间的组合概念

            在我们工作和学习中,经常会接触到“同步”、“异步”、“堵塞”和“非堵塞”这些概念,但是并不是每个人都能将它们的关系和区别说清楚。本文将对这些基本...

    方亮
  • 一种注册表沙箱的思路、实现

            从今年4月份开始,我接触到一个沙箱项目。该项目的需求要求我们的沙箱具有良好的安全性和兼容性。当时我们研究了SandBoxIE和360的沙箱,基本...

    方亮
  • WMI技术介绍和应用——WMI概述

            今天,我要开始一系列关于微软WMI技术的介绍。通过之后若干节的介绍,我想WMI技术将为在windows平台上从事开发的朋友开启另外一扇窗。(转载...

    方亮
  • Could not find support-media-compat.aar

    说实话这个错报了好久了,由于进行了别的项目开发就一直也没去管他,今天再次打开项目,又见到了熟悉的这个错,于是解决并记录下来。

    longzeqiu
  • Adobe被曝存在严重漏洞,新浪微博被“约谈”整改,科大讯飞21周年

    网信中国”微信公众号 6 月 10 消息称,国家网信办指导北京市网信办依法约谈处罚新浪微博。IT之家获悉,国家互联网信息办公室有关业务局负责人强调,网站平台应当...

    23号杂货铺
  • CSS基础(四):盒模型

    HTML文档中可以将每个元素都看作是长方形的盒子。而CSS盒模型规定了元素框处理元素内容content、内边距padding、边框border和外边距marg...

    bear_fish
  • Python - 面向对象(三)公共变量,受保护变量,私有变量

    在Python的类里面,所有属性和方法默认都是公共的;但Python也可以设置受保护、私有类型的变量or方法

    小菠萝测试笔记
  • 绘制图表(1):初次实现

    今天介绍如何用Python创建图表。具体地说,你将创建一个PDF文件,其中包含的图表对从文本文件读取的数据进行了可视化。虽然常规的电子表格软件都提供这样的功能,...

    不可言诉的深渊
  • hexo-详细搭建

    点击右上角的new ssh key 将id_rsa.pub文件里面的内容全部粘贴进去,不用管格式内容啥的,直接全部粘贴

    杨小杰
  • 基于游标的分页接口实现

    分页接口的实现,在偏业务的服务端开发中应该很常见,PC时代的各种表格,移动时代的各种feed流、timeline。

    贾顺名

扫码关注云+社区

领取腾讯云代金券