Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Сделать переменную в bat файле и отобразить в нужном виде? (http://forum.oszone.net/showthread.php?t=351836)

Sobaka56 04-09-2022 07:22 2991696

Сделать переменную в bat файле и отобразить в нужном виде?
 
Добрый день.
Команда, которая отображает количество компьютеров в сети: net.exe view | find.exe /i /c "\\"
После выполнения в bat показывает просто цифру от 0 и более.
Как сделать батник, чтобы результат отображался с пояснением, например: Количество ПК: 6?

Пробовал так:
for /f "delims=" %i IN ('net.exe view | find.exe /i /c "\\"') DO set var=%i
echo Количество ПК: %i%
pause

Но батник сворачивается и ничего не происходит. Грузить из дополнительного файла не подойдет, нужно сделать все в одном батнике. Благодарю за помощь.

olga_maksi29 04-09-2022 19:00 2991760

Может такое простое решение вас устроит.. но результат с новой строки , но думаю наглядно всё равно
Код:

echo Количество ПК: & net.exe view | find.exe /i /c "\\"

megaloman 04-09-2022 20:21 2991764

Код:

<Nul Set /P $=Количество ПК:  &net.exe view | find.exe /c "\\"
Код:

@Echo Off
cls
        for /f "delims=" %%i IN ('net.exe view ^| find.exe /c "\\"') DO set var=%%i
        echo Количество ПК: %var%
pause
Exit /B


scuscumbric 04-09-2022 20:35 2991765

Если в функции FOR в скобках необходимо использовать знак |, то этот знак нужно экранировать так: ^|

megaloman 04-09-2022 20:49 2991769

scuscumbric, Можно и так
Код:

@Echo Off
cls
        for /f "delims=" %%i IN ('"net.exe view | find.exe /c "\\""') DO echo Количество ПК: %%i
pause
Exit /B


olga_maksi29 05-09-2022 08:49 2991787

Цитата:

Цитата megaloman
for /f »

я всё хотела спросить , это же цикл - разве он для команды net.exe view | find.exe /c "\\" нужен ? там же вроде нечего последовательно перебирать

megaloman 05-09-2022 18:19 2991816

olga_maksi29,
Цитата:

Цитата olga_maksi29
это же цикл - разве он для команды net.exe view | find.exe /c "\\" нужен ? там же вроде нечего последовательно перебирать »

Смотря что Вы хотите получить в ответе. Если вывести на печать - не нужен. Если записать результат в переменную - не обойтись.
В предыдущем коде я всего лишь проиллюстрировал антитезу утверждению scuscumbric,
Цитата:

Цитата scuscumbric
Если в функции FOR в скобках необходимо использовать знак |, то этот знак нужно экранировать так: ^| »


scuscumbric 05-09-2022 21:58 2991836

Цитата:

Цитата megaloman
Можно и так »

да, заключение в кавычки - один из способов обхода необходимостей типа экранирования.


Время: 23:51.

Время: 23:51.
© OSzone.net 2001-