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

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

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

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


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

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


Изменения
Автор: wow7
Дата: 18-02-2024
не могу сообразить, как создать условие проверки имени компьютера (то, которое выдаётся командой hostname)?
что-то как-то должно выглядеть как-то так:

если имя компьютера одно
делать одно действие
если имя второе
делать другое действие

как это сделать-то?

Отправлено: 09:38, 18-02-2024

 

Аватара для NickM

Ветеран


Contributor


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

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


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

if /i "%computername%" EQU "wow7" (echo.true) else (echo.false)
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:30, 18-02-2024 | #2



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

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


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


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

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


Казалось бы да, но у меня вот так:

Отправлено: 18:50, 18-02-2024 | #3


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


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

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


У меня команды echo %COMPUTERNAME% и HOSTNAME выдают разные данные!

Отправлено: 19:14, 18-02-2024 | #4


Аватара для NickM

Ветеран


Contributor


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

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


Цитата wow7:
Казалось бы да, но у меня вот так: »
Вам привели код *.cmd сценария, а не команды, для выполнения в командной строке - поместите код в *.cmd файл и выполните этот файл;

Цитата wow7:
echo %COMPUTERNAME% »
Это системная переменная, которую можно вывести в командной строке следующим образом:
Код: Выделить весь код
set COMPUTERNAME
Если хотите в командной строке, то выполняйте только условие:
Код: Выделить весь код
if /i "%computername%" EQU "wow7" (echo.true) else (echo.%computername%)

Последний раз редактировалось NickM, 18-02-2024 в 19:53.


Отправлено: 19:25, 18-02-2024 | #5


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off &cls
	Set "Name=wow7"
	For /F "delims=" %%h In ('HostName') Do If /I "%%h"=="%Name%" (Echo HostName=%%h=%Name%) Else (Echo HostName=%%h^<^>%Name%)
Pause
Exit /B

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


Последний раз редактировалось megaloman, 19-02-2024 в 05:06.

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

Отправлено: 22:28, 18-02-2024 | #6


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


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

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


Цитата megaloman:

Set "Name=wow7"
For /F "delims=" %%h In ('HostName') Do If /I "%%h"=="%Name%" (Echo HostName=%%h=%Name%) Else (Echo HostName=%%h^<^>%Name%)

»
О да! вот это уже работает, как мне и нужно.

Отправлено: 11:50, 19-02-2024 | #7


Аватара для NickM

Ветеран


Contributor


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

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


Цитата wow7:
О да! вот это уже работает »
Хмм, любопытно, а что же тогда у Вас содержится в переменной окружения? Ведь зачастую, к этим переменным окружения, любые-другие программки и обращаются.

Отправлено: 16:18, 19-02-2024 | #8


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


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

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


Цитата NickM:
Хмм, любопытно, а что же тогда у Вас содержится в переменной окружения? Ведь зачастую, к этим переменным окружения, любые-другие программки и обращаются. »
Не знаю что за переменная окружения.
Та программа, которая мне нужна - проверено на практике - обращается к параметру, который выдаётся командой HOSTNAME, а не к тому, который выдаётся командой echo %COMPUTERNAME%. А эти две команды выдают разные данные, если сменил имя компьютера и не перезагрузился.

Отправлено: 10:48, 20-02-2024 | #9


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

fascinating rhythm


Moderator


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

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


Цитата wow7:
Не знаю что за переменная окружения »
Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.
Код: Выделить весь код
rem Вывести все переменные окружения
set

rem Вывести переменные окружения, начинающиеся на comp
set comp

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 12:30, 20-02-2024 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] создать условие для выполнения bash скрипта man8531 Программирование в *nix 1 03-07-2018 19:22
Службы - Как изменить интервал проверки компьютера на простой (Timeout) ? sputnikk Microsoft Windows 7 0 26-08-2016 06:19
Узнать пользователя по имени компьютера. Ultrix Microsoft Windows NT/2000/2003 1 19-02-2014 09:45
Драйвер - EVGA Precision X -- как создать ярлык в учётке пользователя для запуска от имени silalex Microsoft Windows 7 1 10-10-2013 21:09
Безопасность - Как создать загрузочный CD для проверки на вирусы? mdug Программное обеспечение Windows 11 23-11-2006 15:24




 
Переход