Не удается найти указанную метку пакетного файла - 64BIT Windows 10 - CMD/BAT
Всем привет! Товарищи, подскажите пожалуйста, где ошибка?
На Windows XP-7 х32-64 батник свою роль выполняет, на Windows 10 не хочет, возможно и на 8 аналогичная ситуация, не проверял... bat
sc query | findstr /i "tvnserver"
goto exist%errorlevel% :exist0 echo есть exit echo нет :exist1 @set dpass=123 @if "%upass%" == "" ( @set upass=%dpass% ) @cd %TMP% @if exist "C:\Program Files (x86)" ( echo off f | xcopy /s/y %~dp0tightvnc-2.7.10-setup-64bit.msi %TMP%\tightvnc-2.7.10-setup.msi @set bitx=64 ) else ( echo off f | xcopy /s/y %~dp0tightvnc-2.7.10-setup-32bit.msi %TMP%\tightvnc-2.7.10-setup.msi @set bitx=32 ) @echo off Система %bitx% бита. Установка tightvnc .... @msiexec.exe /i tightvnc-2.7.10-setup.msi /quiet /norestart SET_USEVNCAUTHENTICATION=1 VALUE_OF_USEVNCAUTHENTICATION=1 SET_PASSWORD=1 VALUE_OF_PASSWORD=%upass% SET_VIEWONLYPASSWORD=1 VALUE_OF_VIEWONLYPASSWORD=%upass% SET_USECONTROLAUTHENTICATION=1 VALUE_OF_USECONTROLAUTHENTICATION=1 SET_CONTROLPASSWORD=1 VALUE_OF_CONTROLPASSWORD=%upass% @echo. IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT) @if exist "C:\Program Files\TightVNC\" ( @echo off Готово. Пароль: %upass% @del %TMP%\tightvnc-2.7.10-setup.msi ) else ( @del %TMP%\tightvnc-2.7.10-setup.msi ) exit Если запускать с ведением лога пишет: log
C:\Users\ivanov\Desktop\0>sc query | findstr /i "tvnserver"
C:\Users\ivanov\Desktop\0>goto exist1 C:\Users\ivanov\Desktop\0\tightvnc-2.7.10-setup-64bit.msi Скопировано файлов: 1. off Система 64 бита. Установка tightvnc .... C:\Users\ivanov\AppData\Local\Temp>IF EXIST "C:\Program Files (x86)" (GOTO 64BIT ) ELSE (GOTO 32BIT ) Если просто кидать батник в cmd: cmd
C:\Users\ivanov\AppData\Local\Temp>C:\Users\demin\Desktop\0\tax_demin.bat
C:\Users\ivanov\AppData\Local\Temp>sc query | findstr /i "tvnserver" C:\Users\ivanov\AppData\Local\Temp>goto exist1 C:\Users\ivanov\Desktop\0\tightvnc-2.7.10-setup-64bit.msi Скопировано файлов: 1. off Система 64 бита. Установка tightvnc .... C:\Users\ivanov\AppData\Local\Temp>IF EXIST "C:\Program Files (x86)" (GOTO 64BIT ) ELSE (GOTO 32BIT ) Не удается найти указанную метку пакетного файла - 64BIT C:\Users\ivanov\AppData\Local\Temp> |
Цитата:
:64BIT ни метки :32BIT |
Цитата:
Но с метками пока получилось, пока получилось только так, что всегда ставится х32 Работает и без них т.е. если убрать IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT) и метки :32BIT и :64BIT Но, на 10-ке работает только от имени админа... Всё это добро лежит в папке netlogon, на котроллере домена и запускается через сценарий входа... Насколько я знаю, в батнике можно прописать запуск от имени другого пользователя, через runas /savecred /user: и т.д., но в нём придётся вводить пароль, такой вариант не подходит, пусть даже это будет единожды. |
Всем спасибо, в общем сейчас всё работает без меток. А на Win 10 запускаю bat от админа через скрипт: CreateObject("Shell.Application").ShellExecute "service.bat", "", "", "runas", 1
|
Время: 07:01. |
Время: 07:01.
© OSzone.net 2001-