Deminart
13-12-2017, 10:42
Всем привет! Товарищи, подскажите пожалуйста, где ошибка?
На Windows XP-7 х32-64 батник свою роль выполняет, на Windows 10 не хочет, возможно и на 8 аналогичная ситуация, не проверял...
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
Если запускать с ведением лога пишет:
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:
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>
На Windows XP-7 х32-64 батник свою роль выполняет, на Windows 10 не хочет, возможно и на 8 аналогичная ситуация, не проверял...
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
Если запускать с ведением лога пишет:
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:
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>