Estoy tratando de obtener la salida de WMIC en una variable para poder procesarla aún más.
He hecho un archivo por lotes de prueba para ilustrar el problema:
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
Habiendo llamado a este lote obtengo el resultado esperado para la primera línea, pero invalid GET expression
para la segunda.
Dado que la primera línea funciona, creo que hay algo mal con mi cita: ¿alguien podría arrojar una luz sobre esto? Lo comprobé tres veces sintácticamente y todo me parece correcto de acuerdo con esta otra pregunta: salida Wmic en variable
Edit1:% teststr% es solo una cadena para filtrar, podría ser javaw, por ejemplo, buscar ciertas instancias de java.
Edit2: la salida exacta es:
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.
cama y desayuno
but ´
al final de tu primer comando? Y Commandlin
no está escrito correctamente.
wmic PROCESS where "commandline like '%%teststr%%'" get Processid,Caption,Commandline
?
%%teststr%%
?