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

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

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

Старожил


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


Конфигурация

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


Подскажите как сделать BAT в котором нужно перейти к нужной строке bat файла в зависимости от имени пользователя, например если это Имя User перейти к строке :1, если Вася то ко :второй и т.д. ?

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

 

Ветеран


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

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


Просто «goto :%UserName%» или «call :%UserName%».

Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

call :%UserName%

endlocal
exit /b 0

:User1
	echo %~0
	exit /b 0

:User2
	echo %~0
	exit /b 0

:Вася
	echo %~0
	exit /b 0

:Петя
	echo %~0
	exit /b 0

Отправлено: 22:29, 02-09-2017 | #2



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

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


Старожил


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

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


а если не будет такого имени, как пропустить всех Васей и Петей, они не запустятся по очереди один за другим? мне надо что бы если ничего не совпало перейти на другую нужную мне команду, команда Call так и сделает?

Отправлено: 22:37, 02-09-2017 | #3


Ветеран


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

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


Цитата Valek271183:
мне надо что бы если ничего не совпало перейти на другую нужную мне команду, команда Call так и сделает? »
Нет. В таком сценарии следует сделать предварительную проверку:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for %%i in ("User1" "User2" "Вася" "Петя") do if /i "%%~i" equ "%UserName%" goto :%UserName%

echo Ничего не совпало
goto :eof

:User1
	echo User1
	goto :eof

:User2
	echo User2
	goto :eof

:Вася
	echo Вася
	goto :eof

:Петя
	echo Петя
	goto :eof

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

Отправлено: 23:03, 02-09-2017 | #4


Ветеран


Contributor


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

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


Valek271183,
Вот вариант. Если ничего не совпало, Call вызовет нужную секцию обработки
Код: Выделить весь код
@Echo Off
Cls
Call :%Username% 2>nul || Call :_Nobody!
Pause
GoTo :Eof

:_Nobody!
	Echo Пользователь %Username% не описан
GoTo :Eof

:Вася
	Echo Вася
GoTo :Eof

:Глафира
	Echo Глафира
GoTo :Eof

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


Последний раз редактировалось megaloman, 03-09-2017 в 08:53.

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

Отправлено: 08:45, 03-09-2017 | #5


Ветеран


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

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


Цитата megaloman:
Call :%Username% 2>nul || Call :@Nobody »
Вот, кстати, да!

Отправлено: 08:54, 03-09-2017 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование файлов в папки в зависимости от части имени nana_MeDBeD Скриптовые языки администрирования Windows 2 16-08-2017 04:37
VBS/WSH/JS - Перемещение компьютеров из одного OU в другой, в зависимости от имени PAlkovnic Скриптовые языки администрирования Windows 3 15-02-2014 17:30
CMD/BAT - [решено] Копирование файла в зависимости от имени компьютера с заменой имеющегося. vsesam Скриптовые языки администрирования Windows 12 21-02-2013 16:30
Переименование %homepath% в зависимости от имени учетной записи amped Microsoft Windows 2000/XP 6 26-04-2007 15:47
загрузка разных сайтов в зависимости от введённого имени сай vadimiron Вебмастеру 4 15-03-2004 23:35




 
Переход