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

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

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

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


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

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


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

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

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

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

 

Ветеран


Contributor


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

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


Ага. Я брал поновее версию. Но ни моя, ни Ваша без устройства работать не хотят .

В предыдущем варианте я что-то перебдел. Попробуйте так:
Код: Выделить весь код
@echo off

for /f "usebackq tokens=2" %%i in (
	`2^>^&1 "fastboot.exe" oem get_build_version ^| find.exe /i "^(bootloader^)"`
) do set sBootLoader=%%i

if defined sBootLoader echo [%sBootLoader%]
или так:
Код: Выделить весь код
@echo off

for /f "usebackq tokens=2" %%i in (
	`2^>^&1 "fastboot.exe" oem get_build_version ^| find.exe /i "(bootloader)"`
) do set sBootLoader=%%i

if defined sBootLoader echo [%sBootLoader%]
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:12, 24-11-2015 | #21



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

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


Аватара для rectator

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


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

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


Естественно без устройства не работает

Но зато ваш последний вариант отлично работает!
Спасибо за помощь.

Последний раз редактировалось rectator, 24-11-2015 в 03:51.


Отправлено: 00:35, 24-11-2015 | #22


Новый участник


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

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


Есть команда
Код: Выделить весь код
wmic.exe Process where "Name='Far.exe'" get WorkingSetSize
Вывод
Код: Выделить весь код
WorkingSetSize  
6393856
Нужно засунуть вторую строчку (число) в переменную (через файл не хочу)
Попробовал предложанные в теме форы, не получилось

Отправлено: 14:03, 14-02-2018 | #23


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls

FOR /F "usebackq skip=1 delims=" %%s IN (`wmic.exe Process where "Name='Far.exe'" get WorkingSetSize`) DO Set /A S=%%s &GoTo :Cont
:Cont

Echo %S%
Pause

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 14-02-2018 в 20:25.

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

Отправлено: 15:53, 14-02-2018 | #24


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Если я правильно понял задачу (Powershell).
Код: Выделить весь код
$p = Get-CimInstance win32_process -filter "name='far.exe'" | Select -ExpandProperty WorkingSetSize
New-Item env:farworkingsetsize -Value $p

Отправлено: 16:10, 14-02-2018 | #25

x0r x0r вне форума

Забанен


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

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


Есть такая буква!
Мне недавно тоже самое понадобилось и я сафсемвахуе был, когда понял что нету такой возм-сти в cmd-bat. Но оказалось что всё-таки можно и причем давно... но таким сопособом, что фиг додумаесся Способ нашелся тут
пользуемся Для случая Aquilo
Код: Выделить весь код
@echo off
 @setlocal ENABLEDELAYEDEXPANSION
for /f "delims= tokens=* usebackq" %%i  in (`wmic.exe Process where "Name='TOTALCMD.EXE'" get WorkingSetSize`) do @if not X%%i==X set FILES=!FILES! %%i
echo %FILES%
pause
exit
... и дальше через for "tokens=" берем что нужно. Мне понадобились имена папок и вот так
Код: Выделить весь код
for /f "delims= tokens=* usebackq" %%i  in (`"dir /b g:\"`) do @if not X%%i==X set FILES=!FILES! %%i
имена загнал в одну переменную и через for подставлял.

Отправлено: 21:46, 14-02-2018 | #26


Новый участник


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

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


Всем привет!
Не стал плодить темы, моя задача немного схожа, мне нужно осуществить поиск мест где находится файл, создал скрипт:

@echo off
setlocal EnableDelayedExpansion
For /F "Delims=" %%I In ('where /r d:\ "filename"') Do Set filename=%%~I
echo "%computername%"; !filename! > where.csv

Но, проблема в том что на выходе получаю только путь до последнего найденного файла, а их несколько, подскажите - как осуществить вывод всех найденных?
Спасибо!

Отправлено: 08:23, 14-08-2018 | #27


Ветеран


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

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


Runn3r,
сразу и записывать в файл, зачем там переменная:
Код: Выделить весь код
@echo off
>where.csv (For /F "Delims=" %%I In ('where /r d:\ "filename"') Do @<nul set /p="%%~I;")
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:35, 14-08-2018 | #28


Ветеран


Contributor


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

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


Код: Выделить весь код
>"where.csv" (
    for /f "delims=" %%i in ('where.exe /r d:\ "filename"') do echo  %ComputerName%;%%~i
)
Цитата alpap:
Код: Выделить весь код
… @<nul set /p="%%~I;")
»
Они ж все в одну строчку будут?!
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:41, 14-08-2018 | #29


Ветеран


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

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


Цитата Iska:
Они ж все в одну строчку будут?! »
полагаю раз запись в csv, то так и надо.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:45, 14-08-2018 | #30



Компьютерный форум 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




 
Переход