|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как записать в переменную результат выполнения команды? |
|
CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
|
Пользователь Сообщения: 74 |
Мне необходимо что-то подобное:
%переменная% := (результат команды hostname), чтобы можно было использовать значение переменной дальше в скрипте... Сейчас на ум приходит только hostname > file.ext , с последущим вычитыванием имени компьютера... |
|
Отправлено: 18:11, 14-02-2009 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать alpap, спасибо, ясно.
|
Отправлено: 09:50, 14-08-2018 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо всем за помощь.
Не получается сделать в одну строчку, мне нужно будет использовать where для нескольких, разных файлов и чтобы в начале прописывалось имя компьютера: %computername%;filename1;filename2 и тд @echo off >where.csv echo %computername% && (For /F "Delims=" %%I In ('where /r d:\ "filename1"') Do @<nul set /p="%%~I;") && (For /F "Delims=" %%I In ('where /r d:\ "filename2"') Do @<nul set /p="%%~I;") pause Еще такой вопрос реально ли вообще вывести путь от куда запущены текущие java.exe процессы, без вывода аргументов с которыми он стартован? Пробовал через wmic с выводом commandline - путь указывает, но еще и указывает кучу не нужных аргументов с которыми стартован процесс ((( В итоге хотел бы получить такую информацию: %computername%;filename1;filename2;all_java.exe_process_path Заранее огромное спасибо! |
Последний раз редактировалось Runn3r, 14-08-2018 в 15:03. Отправлено: 14:52, 14-08-2018 | #32 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Runn3r, так Вам как надо-то? В моём понимании или в понимании коллеги alpap? Такой:
ComputerName;c:\Windows\notepad.exe ComputerName;c:\Windows\System32\notepad.exe ComputerName;c:\Windows\SysWOW64\notepad.exe ComputerName;c:\Windows\notepad.exe;c:\Windows\System32\notepad.exe;c:\Windows\SysWOW64\notepad.exe Цитата Runn3r:
Скрытый текст
![]() |
|
Отправлено: 15:06, 14-08-2018 | #33 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать нужно чтобы информация выводилась в строку
|
Отправлено: 15:09, 14-08-2018 | #34 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Runn3r, значит, используйте вариант коллеги alpap. Как указать несколько масок зараз — сообщением выше.
Цитата Runn3r:
|
|
Отправлено: 15:26, 14-08-2018 | #35 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 15:34, 14-08-2018 | #36 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Надо полагать, Вы подразумеваете под этим путь к исполняемому файлу.
@echo off setlocal enableextensions enabledelayedexpansion >"where.csv" ( <nul set /p sVar=%ComputerName%; for /f "usebackq delims=" %%i in (`where.exe /r c:\ "notepad.exe" "calc.exe" "regedit.exe"`) do <nul set /p sVar=%%~i; for /f "usebackq delims=" %%i in (`wmic.exe Process where "Name = 'java.exe'" get ExecutablePath /value`) do for /f "tokens=2 delims==" %%j in ("%%i") do <nul set /p sVar=%%j; ) endlocal exit /b 0 |
Отправлено: 17:07, 14-08-2018 | #37 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Здравствуйте.
Нужно передать в скрипт переменную залогиненного пользователя. Узнать кто залогинился можно командой WMIC /NODE: "localhost" COMPUTERSYSTEM GET USERNAME На выходе получается Нужно первую строчку убрать и имя домена с обратным слешем тоже. Попробовал из того что выложено на форуме - не помогло. |
Отправлено: 20:51, 05-11-2018 | #38 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:36, 05-11-2018 | #39 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Я на удаленной машине выполняю скрипт через psexec с ключом s, таким образом %username% здесь будет СИСТЕМА.
Поэтому такие системные переменные не годятся. |
Отправлено: 10:36, 06-11-2018 | #40 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|