Я пытаюсь получить вывод WMIC в переменную, чтобы я мог обработать его дальше.
Я сделал тестовый пакетный файл, чтобы проиллюстрировать проблему:
wmic PROCESS where "commandline like '%%teststr%%'" get Processid,Caption,Commandline
for /F "usebackq" %%R in (`wmic PROCESS where "commandline like '%%teststr%%'" get Processid,Caption,Commandline`) do echo OUTPUT is %%R
Вызвав этот пакет, я получаю ожидаемый вывод для первой строки, но invalid GET expression
для второй.
Так как первая строка работает, я думаю, что с моей цитатой что-то не так - может кто-нибудь пролить свет на это? Я трижды проверил его синтаксически, и мне все кажется правильным в соответствии с другим вопросом: вывод Wmic в переменную
Edit1:% teststr% это просто строка для фильтрации, это может быть javaw, например, для поиска определенных экземпляров Java.
Edit2: Точный вывод:
Caption CommandLine ProcessId
javaw.exe "C:\Program Files (x86)\Java\jre1.8.0_91\bin\javaw.exe" -jar "J:\tools\sonst\jEdit\jedit.jar" -reuseview -background -nogui 5152
javaw.exe "C:\Program Files (x86)\Java\jre1.8.0_91\bin\javaw.exe" -jar "J:\tools\sonst\jEdit\jedit.jar" -reuseview -background -nogui 11504
javaw.exe "c:\Program Files (x86)\Java\jdk1.7.0_80\bin\javaw.exe" -jar "j:\tools\online\JBinUp\JBinUp.jar" 16336
WMIC.exe wmic PROCESS where "commandline like '%javaw%'" get Processid,Caption,Commandline 18740
Invalid GET Expression.
BB