Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как записать в переменную результат выполнения команды?

Ответить
Настройки темы
CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
MSI MSI вне форума

Пользователь


Сообщения: 63
Благодарности: 4

Профиль | Отправить PM | Цитировать


Мне необходимо что-то подобное:

%переменная% := (результат команды hostname), чтобы можно было использовать значение переменной дальше в скрипте...

Сейчас на ум приходит только hostname > file.ext , с последущим вычитыванием имени компьютера...

Отправлено: 18:11, 14-02-2009

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Ясно. Тогда следовало бы упомянуть данное:
Цитата vdvas:
на удаленной машине выполняю скрипт »
условие зараз. Равно как и причину, по которой Вы пользуете psexec, но не пользуете тот же Wbem для удалённого доступа (wmic.exe /node:RemoteMachine ComputerSystem get UserName…).

Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (
	`2^>nul wmic.exe ComputerSystem get UserName /value ^| 2^>nul find.exe /i "UserName="`
) do for /f "tokens=1,3 delims==\" %%j in ("%%~i") do (
	set s%%~j=%%~k
)

if defined sUserName echo [%sUserName%].

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:16, 06-11-2018 | #41



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Забанен


Сообщения: 53
Благодарности: 6

Профиль | Цитировать


Цитата:
вывести путь от куда запущены текущие java.exe процессы, без вывода аргументов с которыми он стартован?
Код: Выделить весь код
@echo off
setlocal ENABLEDELAYEDEXPANSION

rem Стартуем с %А а кончаем с %B  
for /f "tokens=1* delims==" %%A in ('
    wmic process where "Name='svchost.exe'" get ExecutablePath /value ^|findstr :
  ') do @if not X%%i==X set ProcPath=!ProcPath!%%B;

echo ProcPath: %ProcPath%
pause
exit

Последний раз редактировалось zbeypepels, 07-10-2019 в 18:22. Причина: дубль был


Отправлено: 18:19, 07-10-2019 | #42


Пользователь


Сообщения: 110
Благодарности: 1

Профиль | Отправить PM | Цитировать


Не нашел точно подходящую тему относительно поставленной для .bat-файла задачи, поэтому пишу здесь (если все-же есть такая тема, просьба перенести мой пост туда).
Задача у меня такая. Имеется сайт на котором несколько тв-каналов. С них каждые 2 часа нужно извлекать их видеопотоки и вставлять в плейлист IPTV (каждые 2 часа потому, что таков срок живучести ссылок с данного сайта). Вручную выполнять эту задачу несколько раз в день утомительно (хотя сами потоки я умею извлекать). Поэтому подумал, может есть возможность написать .bat-файл, который будет выполнять эту задачу вместо меня. Пожалуйста дайте направление как это делается. Замечу, что такое реализовано в видеодополнениях приложения Kodi (для Android устройств), где ссылки обновляются на лету. Однако все эти скрипты для меня непостижимы. Потому решил спросить тут. Кто-нибудь может помочь?

Отправлено: 08:03, 15-10-2019 | #43


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


монтировку для извлечения потоков в планировщик под предел <= 2часа

Отправлено: 12:34, 15-10-2019 | #44


Аватара для Unter

Пользователь


Сообщения: 106
Благодарности: 14

Профиль | Отправить PM | Цитировать


Есть программа, работает с флешки. Для обновления собственных баз запускается с ключами. Запуск идет через батник в котором формируется среда и временные папки. Некоторое время назад после очередного обновления, программа стала реагировать на состояние USB портов. Если в порт что то вставить или вынуть, она уходит из под контроля скрипта(проверял в CMD и VBS), а скрипт продолжает свою работу: очищает или удаляет временные папки и файлы, соответственно работа программы завершается. Нашел выход в следующем: после строки запуска поставил цикл в котором отслеживается PID программы пока она находится в процессах, но не могу понять, как получить errorlevel для заключительных операций. Запуск может проходить сразу с нескольких флешек. Донести проблему до разработчика нереально - скорее всего аутсорсинг. Может кто знает как получить код возврата, отпишитесь пожалуйста.

Последний раз редактировалось Unter, 24-03-2020 в 05:10.


Отправлено: 03:15, 24-03-2020 | #45


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Unter, расскажите то же самое, только теперь предметно.

Отправлено: 12:04, 24-03-2020 | #46


Аватара для Unter

Пользователь


Сообщения: 106
Благодарности: 14

Профиль | Отправить PM | Цитировать


Проще говоря, можно как нибудь получить код возврата программы, если скрипт не ждет ее завершения.

Отправлено: 23:39, 24-03-2020 | #47


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Unter, первый вопрос — как он определит момент, когда пора получать код возврата?

Вы явно не тем занимаетесь. Надо решать:
Цитата Unter:
Некоторое время назад после очередного обновления, программа стала реагировать на состояние USB портов. Если в порт что то вставить или вынуть, она уходит из под контроля скрипта »

Отправлено: 00:42, 25-03-2020 | #48


Аватара для Unter

Пользователь


Сообщения: 106
Благодарности: 14

Профиль | Отправить PM | Цитировать


Цитата Iska:
как он определит момент, когда пора получать код возврата »
Цитата Unter:
после строки запуска поставил цикл в котором отслеживается PID программы пока она находится в процессах »
Как уже писал выше: "Донести проблему до разработчика нереально". И предупреждая следующий вопрос, проблема не в компьютере и не в Windows. Проверял на 10-ке и 7-ке, хотя поначалу грешил на 10 и даже Microsoft потревожил, но затем проверил на других компьютерах и убедился, что виновата программа. Возможно есть способ выгрузить код в файл.

Последний раз редактировалось Unter, 25-03-2020 в 08:50.


Отправлено: 08:35, 25-03-2020 | #49


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Unter, покажите Ваш код, в котором:
Цитата Unter:
она уходит из под контроля скрипта(проверял в CMD и VBS), »
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:59, 25-03-2020 | #50



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как записать в переменную результат выполнения команды?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход