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

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

Ответить
Настройки темы
CMD/BAT - Ошибка синтаксиса в if

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


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

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


Изменения
Автор: Test_CMD
Дата: 12-11-2016
Делаю небольшой батник и понадобилось использовать цикл if

Код: Выделить весь код
set /p ls="Choose language:"
if "%ls%"=="ru"(
	
	net user Администратор /active:yes
	@:Назначаем ему пароль
	net user Администратор 1234
	@:Создаем пользователя User
	net user User /add
	@:Назначаем его админом
	net localgroup Администраторы User /add

) else (
	@:Активируем встроенного админа
	 net user Administrator /active:yes
	@:Назначаем ему пароль
	net user Administrator 1234
	@:Создаем пользователя User
	net user User /add
	@:Назначаем его админом
	net localgroup Administrators User /add
)
Ругается на неправильный синтаксис, но я уже тысячу раз все перепроверил и не могу найти ошибку, помогите, пожалуйста

Отправлено: 18:42, 12-11-2016

 

Ветеран


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

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


if "%ls%"=="ru"пробел(
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:24, 12-11-2016 | #2



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

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


Ветеран


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

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


Test_CMD, можете использовать и такой код, независимо от языка:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (
	`wmic.exe UserAccount where "LocalAccount=TRUE AND SID LIKE 'S-1-5-21-%%-500'" get Name /value ^| find.exe /i "Name"`
) do set sAdmin%%i

if defined sAdminName (
	net.exe user %sAdminName% 1234 /active:yes
)

for /f "usebackq delims=" %%i in (
	`wmic.exe Group where "LocalAccount=TRUE AND SID = 'S-1-5-32-544'" get Name /value ^| find.exe /i "Name"`
) do set sAdminGroup%%i

if defined sAdminGroupName (
	net.exe user User /add
	net.exe localgroup %sAdminGroupName% User /add

)

endlocal
exit /b 0

Отправлено: 20:11, 12-11-2016 | #3


Ветеран


Contributor


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

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


Test_CMD, Кроме того, что уже указал alpap, конструкция типа @: Тра ля ля , повторенная много раз, приведёт к ошибке. Замените её на rem Тра ля ля

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


Последний раз редактировалось megaloman, 13-11-2016 в 15:59.

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

Отправлено: 15:51, 13-11-2016 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] ошибка синтаксиса cmd скрипта Den Скриптовые языки администрирования Windows 11 30-03-2012 19:15
xemacs, подстветка синтаксиса romez777 Программное обеспечение Linux и FreeBSD 1 26-02-2008 10:33
[решено] Ошибка синтаксиса при входе на сайт Grub Хочу все знать 2 19-12-2006 07:32
ошибка синтаксиса комманндной строки permidon Microsoft Windows 95/98/Me (архив) 6 03-12-2004 06:22
Delphi - Delphi. проверка синтаксиса модуля Roman Go Программирование и базы данных 3 08-02-2003 06:18




 
Переход