![从 Windows 索引搜索中获取修改日期](https://linux22.com/image/625927/%E4%BB%8E%20Windows%20%E7%B4%A2%E5%BC%95%E6%90%9C%E7%B4%A2%E4%B8%AD%E8%8E%B7%E5%8F%96%E4%BF%AE%E6%94%B9%E6%97%A5%E6%9C%9F.png)
我想知道是否可以从 Windows 索引搜索中检索文件修改日期。
我使用以下命令获取文件的名称:
objRecordset.Fields.Item("System.ItemName")
而且我不确定如何检查所有可用的属性或字段,objRecordset
但我在谷歌上找到了这些:
系统项目名称
系统.ITEMURL
系统文件扩展名
系统文件名
系统文件属性
系统文件所有者
系统项目类型
系统.ITEMTYPE文本
系统文本
系统类型
系统.MIME类型
系统尺寸
正如您所看到的,没有任何内容与文件日期相关,但我很难相信这不是可以访问的地方。
这是vbs
我现在正在使用的脚本:
'To run this snippet, save it to a file and run it using cscript.exe from a command line.
'Running the .vbs file with Windows Script Host may cause dialog boxes to open for each item returned from the index.
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"
objRecordSet.Open "SELECT System.ItemName FROM SYSTEMINDEX WHERE DIRECTORY='file:C:/folderIndexed' AND CONTAINS('INSULATING') ORDER BY System.ItemName DESC", objConnection
Do Until objRecordset.EOF
Wscript.Echo objRecordset.Fields.Item("System.ItemName")
objRecordset.MoveNext
Loop
答案1
这:
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"
objRecordSet.Open "SELECT System.ItemName, System.DateModified FROM SYSTEMINDEX WHERE DIRECTORY='file:C:/usr'", objConnection
Do Until objRecordset.EOF
Wscript.Echo objRecordset.Fields.Item("System.ItemName")
Wscript.Echo objRecordset.Fields.Item("System.DateModified")
objRecordset.MoveNext
Loop
产生以下输出:
README.txt
31.1.2014 17:20:14
bin
29.10.2012 14:09:02
share
29.10.2012 14:09:01
docs
29.10.2012 14:09:02
etc
29.10.2012 14:09:02
以下列表可能也有帮助:http://msdn.microsoft.com/en-us/library/windows/desktop/ff521735%28v=vs.85%29.aspx