Что-то, что делает SELECT для получения информации о файле или каталоге? Что-то, что действительно работает?
Язык не имеет значения, меня больше всего интересует синтаксис запроса.
Что-то, что делает SELECT для получения информации о файле или каталоге? Что-то, что действительно работает?
Язык не имеет значения, меня больше всего интересует синтаксис запроса.
Вот несколько примеров:
Запрос файла:
SELECT * FROM CIM_DataFile WHERE Name='C:\\WINDOWS\\NOTEPAD.EXE'
SELECT * FROM CIM_DataFile WHERE Drive='C:' AND Path='\\Windows\\' AND FileName='Notepad' AND Extension='EXE'
Запрос папки:
SELECT * FROM CIM_Directory WHERE Name='C:\\Windows'
SELECT * FROM CIM_Directory WHERE Drive='C:' AND Path='\\Program Files\\' AND FileName='Internet Explorer'
Дополнительные сведения о синтаксисе запросов см. в разделе WQL (SQL для WMI). См. также CIM_DataFile
и CIM_Directory
для списка свойств файлов и папок, которые можно использовать в предложениях SELECT
и WHERE
.
Я нашел ответ, и все это было вызвано моей глупой ошибкой: мне не удавалось удвоить обратную косую черту в строке пути, и я думал, что это делается. Кроме того, вы должны указать все четыре поля в предложении WHERE: диск, путь, имя файла и расширение.
Создатель кода WMI есть помощь.
См. этот код:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM CIM_DataFile",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "CIM_DataFile instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "AccessMask: " & objItem.AccessMask
Wscript.Echo "Archive: " & objItem.Archive
Wscript.Echo "LastAccessed: " & objItem.LastAccessed
Wscript.Echo "LastModified: " & objItem.LastModified
Wscript.Echo "Manufacturer: " & objItem.Manufacturer
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Path: " & objItem.Path
Wscript.Echo "Readable: " & objItem.Readable
Wscript.Echo "Status: " & objItem.Status
Wscript.Echo "System: " & objItem.System
Wscript.Echo "Version: " & objItem.Version
Wscript.Echo "Writeable: " & objItem.Writeable
Next
ИЗМЕНИТЬ
В этом примере вы просматриваете перечисление всех файлов на компьютере а>.
Попробуйте этот формат запроса, чтобы:
Select * From Win32_Directory Where FileName = 'Scripts'
Подробнее о создании запроса WQL с использованием LIKE.
Попробуйте также: Scriptomatic 2.0.