Войти

Показать полную графическую версию : [решено] Проблема с записью переменной из WMIC


Bruce Wayne
28-09-2012, 22:55
Добрый день!

Столкнулся с такой проблемой: мне нужно результат вывода команды записать в переменную, но ничего не получается. Вот код:

for /f %%a in ('wmic process where name="notepad.exe" get executablepath') do (set i=%%a)
echo %i%
pause

С другими командами работает, а здесь выдаёт сообщение "Не удалось найти файл wmic". Подскажите, пожалуйста, в чём может быть проблема? Блокнот запущен.

Anonymоus
28-09-2012, 23:58
Bruce Wayne, попробуйте вот это:

@Echo Off
For /F "tokens=2* delims==" %%A In ('wmic process where name^="notepad.exe" get executablepath /value^|Findstr "="') Do (Set Process=%%A)
Echo %Process%
Pause

Ключ /value выводит значение в формате "имя=значение", отсекая всё лишнее. Findstr убирает пустые строки в конце и начале. Ну и сам цикл выделяет из всего этого искомое значение.
Источник, подсказавший в какую сторону копать: Batch WMIC for Default Printer (http://social.technet.microsoft.com/Forums/en/ITCG/thread/f4ace343-f494-497a-b27a-3a67409b6c20)

Bruce Wayne
29-09-2012, 06:56
Anonymоus, спасибо огромное! Всё получилось! :clapping:




© OSzone.net 2001-2012