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

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

Test_CMD 12-11-2016 18:42 2686968

Ошибка синтаксиса в if
 
Делаю небольшой батник и понадобилось использовать цикл 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
)

Ругается на неправильный синтаксис, но я уже тысячу раз все перепроверил и не могу найти ошибку, помогите, пожалуйста

alpap 12-11-2016 19:24 2686982

if "%ls%"=="ru"пробел(

Iska 12-11-2016 20:11 2687000

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


megaloman 13-11-2016 15:51 2687242

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


Время: 10:32.

Время: 10:32.
© OSzone.net 2001-