CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
-
Runn3r
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Всем привет!
Не стал плодить темы, моя задача немного схожа, мне нужно осуществить поиск мест где находится файл, создал скрипт:
@echo off
setlocal EnableDelayedExpansion
For /F "Delims=" %%I In ('where /r d:\ "filename"') Do Set filename=%%~I
echo "%computername%"; !filename! > where.csv
Но, проблема в том что на выходе получаю только путь до последнего найденного файла, а их несколько, подскажите - как осуществить вывод всех найденных?
Спасибо!
Не стал плодить темы, моя задача немного схожа, мне нужно осуществить поиск мест где находится файл, создал скрипт:
@echo off
setlocal EnableDelayedExpansion
For /F "Delims=" %%I In ('where /r d:\ "filename"') Do Set filename=%%~I
echo "%computername%"; !filename! > where.csv
Но, проблема в том что на выходе получаю только путь до последнего найденного файла, а их несколько, подскажите - как осуществить вывод всех найденных?
Спасибо!
-
alpap
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Runn3r,
сразу и записывать в файл, зачем там переменная:
Код:
сразу и записывать в файл, зачем там переменная:
Код:
Код: Выделить всё
@echo off
>where.csv (For /F "Delims=" %%I In ('where /r d:\ "filename"') Do @-
Iska
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Runn3r, так Вам как надо-то? В моём понимании или в понимании коллеги alpap? Такой:
Код:
или такой:
Код:
?
Цитата Runn3r:
мне нужно будет использовать where для нескольких, разных файлов
Ну, так и используйте несколько:
Код:
Скрытый текст
[spoiler]
[/spoiler]
Код:
Код: Выделить всё
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:
мне нужно будет использовать where для нескольких, разных файлов
CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Ну, так и используйте несколько:
Код:
Код: Выделить всё
where.exe /r c:\ "notepad.exe" "calc.exe" "regedit.exe"Скрытый текст
[spoiler]
[/spoiler]-
alpap
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
нужно чтобы информация выводилась в строку
-
Runn3r
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Runn3r, значит, используйте вариант коллеги alpap. Как указать несколько масок зараз — сообщением выше.
Цитата Runn3r:
Еще такой вопрос реально ли вообще вывести путь от куда запущены текущие java.exe процессы,
Что есть в Вашем понимании «путь от куда запущены»?
Цитата Runn3r:
Еще такой вопрос реально ли вообще вывести путь от куда запущены текущие java.exe процессы,
CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Что есть в Вашем понимании «путь от куда запущены»?
-
Iska
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Цитата Iska:
Что есть в Вашем понимании «путь от куда запущены»?
На ПК установлены разные версии Java, одновременно выполняются несколько процессов java, нужен вывод откуда они запущены, нужен только путь без аргументов с которыми они стартованы
Что есть в Вашем понимании «путь от куда запущены»?
CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
На ПК установлены разные версии Java, одновременно выполняются несколько процессов java, нужен вывод откуда они запущены, нужен только путь без аргументов с которыми они стартованы
-
Runn3r
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
нужно чтобы информация выводилась в строку
-
Runn3r
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Здравствуйте.
Нужно передать в скрипт переменную залогиненного пользователя.
Узнать кто залогинился можно командой WMIC /NODE: "localhost" COMPUTERSYSTEM GET USERNAME
На выходе получается
Код:
Нужно первую строчку убрать и имя домена с обратным слешем тоже.
Попробовал из того что выложено на форуме - не помогло.
Код:
Нужно передать в скрипт переменную залогиненного пользователя.
Узнать кто залогинился можно командой WMIC /NODE: "localhost" COMPUTERSYSTEM GET USERNAME
На выходе получается
Код:
Код: Выделить всё
UserName
DOMAIN\userНужно первую строчку убрать и имя домена с обратным слешем тоже.
Попробовал из того что выложено на форуме - не помогло.
Код:
Код: Выделить всё
FOR /F "usebackq skip=1 delims=" %%I IN (`WMIC /NODE: "localhost" COMPUTERSYSTEM GET USERNAME`) DO Set /P S=%%I
Echo S-
Runn3r
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
vdvas, возможно, Ваша проблема (для локальной машины) решается проще:
Код:
Код:
Код: Выделить всё
echo %userdomain%
echo %username%-
Iska
Re: CMD/BAT - [решено] Как записать в переменную результат выполнения команды?
Надо полагать, Вы подразумеваете под этим путь к исполняемому файлу.
Код:
Правда, как Вы собираетесь в этом месиве, по недоразумению именуемом Вами csv, различать что где есть — не знаю. Впрочем, дело Ваше.
Код:
Код: Выделить всё
@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Правда, как Вы собираетесь в этом месиве, по недоразумению именуемом Вами csv, различать что где есть — не знаю. Впрочем, дело Ваше.