C# 如何在指定目录中查找最近修改的文件-WMI查询

C# 如何在指定目录中查找最近修改的文件-WMI查询,c#,wmi,wmi-query,C#,Wmi,Wmi Query,我希望搜索最近修改的文本文件,该文件在同一域的远程计算机上的文件名中有指示符。目录的(UNC)路径如下所示 \\MachineName\Applications\Indicator\myFolder 我试过这样的方法: ConnectionOptions options = new ConnectionOptions(); options.Username = username; options.Password = password; ManagementScope scope = ne

我希望搜索最近修改的文本文件,该文件在同一域的远程计算机上的文件名中有指示符。目录的(UNC)路径如下所示

\\MachineName\Applications\Indicator\myFolder

我试过这样的方法:

ConnectionOptions options = new ConnectionOptions();

options.Username = username;

options.Password = password;

ManagementScope scope = new ManagementScope("\\\\MachineName\\root\\cimv2", options);

scope.Connect(); // returns true i.e IsConnected=true

ObjectQuery query = new ObjectQuery(string.Format("SELECT * FROM CIM_DataFile where path=\\MachineName\Applications\Indicator\myFolder");    //This query is just for trial purpose.

ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

ManagementObjectCollection queryCollection = searcher.Get();      //Code breaks here
我得到以下错误:

“queryCollection.Count”引发了类型为的异常

“System.Management.ManagementException”

消息为InvalidQuery

有人能帮我做两件事吗

  • 为什么这个简单的代码会被破坏

  • 有人能帮我用WMI查询来获取指定目录中最近修改的文件吗


  • PS:如果需要其他信息,请告诉我。谢谢

    是否有特定的WMI需求?@TheGeneral由于文件放在另一台远程计算机上,我必须连接到同一台计算机并启动查询。所以WMI是合适的选项,对吗?请告诉我是否可以通过任何其他方式实现相同的功能。
    newobjectquery(string.Format)的语法不清楚(…
    ;第二,
    CIM_DataFile
    path
    属性不应该包含机器/驱动器,并且应该包含一个尾随的退格;查询字符串中的
    where
    子句可以读作
    where path='\\Applications\\Indicator\\myFolder\\\\\\
    (注意单引号)。