|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как записать в переменную результат выполнения команды? |
|
CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
|
Пользователь Сообщения: 74 |
Мне необходимо что-то подобное:
%переменная% := (результат команды hostname), чтобы можно было использовать значение переменной дальше в скрипте... Сейчас на ум приходит только hostname > file.ext , с последущим вычитыванием имени компьютера... |
|
Отправлено: 18:11, 14-02-2009 |
Пользователь Сообщения: 101
|
Профиль | Отправить PM | Цитировать Дабы не создавать лишние темы спрошу здесь) Есть скрипт в котором именно с первого раза не выводятся данные при применении команды echo
@echo off set p_basedir=path set p_1cPlatform=path set P_update_rel=path set d_result=path FOR /F "usebackq delims=" %%i IN (`dir /AD /B %p_basedir%`) do ( set base_n=%%i For /F "usebackq delims=" %%j IN (`dir /AD /B %p_update_rel%`) do ( set base_rel=%%j "%p_1cPlatform%\1cv8.exe" CONFIG /F "%p_basedir%\%%i" /UpdateCfg "%P_update_rel%\%%j\1cv8.cfu" /UpdateDBcfg /DumpResult "%d_result%\%%i_%%j.log" @echo (%base_n% _ %base_rel% _pass!) ) ) Ради интереса оставил просто @echo %base_n% Получаю в первый раз: Режим вывода команд на экран (ECHO) отключен Второй раз получаю значение переменной. |
------- Отправлено: 17:05, 03-04-2014 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 101
|
Профиль | Отправить PM | Цитировать UPD: Вывел на прямую %%i и %%j и проблема ушла.
|
------- Отправлено: 17:23, 03-04-2014 | #12 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off setlocal enabledelayedexpansion set p_basedir=path set p_1cPlatform=path set P_update_rel=path set d_result=path FOR /F "usebackq delims=" %%i IN (`dir /AD /B %p_basedir%`) do ( set base_n=%%i For /F "usebackq delims=" %%j IN (`dir /AD /B %p_update_rel%`) do ( set base_rel=%%j "%p_1cPlatform%\1cv8.exe" CONFIG /F "%p_basedir%\%%i" /UpdateCfg "%P_update_rel%\%%j\1cv8.cfu" /UpdateDBcfg /DumpResult "%d_result%\%%i_%%j.log" @echo (!base_n! _ !base_rel!_pass^^^!) ) ) |
Последний раз редактировалось Georgio, 03-04-2014 в 18:12. Отправлено: 17:50, 03-04-2014 | #13 |
Пользователь Сообщения: 101
|
Профиль | Отправить PM | Цитировать Спасибо за совет!
Цитата:
|
|
------- Отправлено: 18:04, 03-04-2014 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Farxat:
|
|
Отправлено: 18:22, 03-04-2014 | #15 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Чтобы не плодить темы, спрошу здесь.
Как присвоить переменной в батнике результат выполнения команды? Команда возвращает следующее: Мне нужно вот это OPEN_ME572CL_V11.8.0.157.1 присвоить переменной. Вывод идёт в STDERR. |
Отправлено: 22:01, 23-11-2015 | #16 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:14, 23-11-2015 | #17 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Цитата Iska:
P.S. не работает ваша конструкция. Вот это: почти делает то что надо: Осталось извлечь ПЕРВОЕ значение. |
|
Последний раз редактировалось rectator, 23-11-2015 в 23:08. Отправлено: 22:22, 23-11-2015 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Попробуйте так:
Не проверялось. Если укажете, где взять пользуемый Вами «fastboot», возможно, смогу проверить. |
Отправлено: 23:12, 23-11-2015 | #19 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось rectator, 24-11-2015 в 00:00. Отправлено: 23:26, 23-11-2015 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Записать имя папки в которой лежит батник в переменную а потом эту же папку переим. | bobr95 | Скриптовые языки администрирования Windows | 8 | 10-04-2012 18:42 | |
CMD/BAT - [решено] Как определить IP и записать его в переменную? (OS: Windows Vista) | Voshal | Скриптовые языки администрирования Windows | 7 | 17-05-2010 11:43 | |
CMD/BAT - [решено] Строка результат выполнения filever.exe передать в переменную | dARKest | Скриптовые языки администрирования Windows | 3 | 07-09-2009 22:50 | |
[решено] Объединить результат mysql_fetch_array() в одну переменную | D_Master | Вебмастеру | 9 | 10-07-2009 17:23 | |
bash: Как выполнить многострочный результат другой команды | shivtorov | Общий по Linux | 12 | 04-10-2005 10:20 |
|