dedmazai1870
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору @echo off :M1 echo. echo Word 2013 tasklist.exe /nh /fi "imagename eq WINWORD.EXE" | find.exe /I "WINWORD.EXE" > nul if %ERRORLEVEL% ==0 ( color 4E echo уже запущен! Необходимо закрыть! call :beep TIMEOUT /T 3 /NOBREAK exit ) echo ---------------------------------------------------------------------------- echo. tasklist.exe /nh /fi "imagename eq punto.exe" | find.exe /I "punto.exe" > nul if %ERRORLEVEL% ==0 ( call :beep call :writeLn 0C " Запущен Punto Switcher - Рекомендуется отключить перед запуском программы" set "Punto=1" echo. call :writeLn 0C " 5 - Закрыть Punto Switcher" echo. ) echo 1 - запустить Word с обычными правами echo. echo 2 - запустить Word с административными правами echo. echo 0 - Выход echo ---------------------------------------------------------------------------- rem CHOICE /N /C 120 /T 15 /D 0 /M "Как будем запускать?" IF not Defined Punto (CHOICE /N /C 120 /M "Как будем запускать?") else CHOICE /N /C 1205 /M "Как будем запускать?" IF %ERRORLEVEL% EQU 1 GOTO normal IF %ERRORLEVEL% EQU 2 GOTO admin IF %ERRORLEVEL% EQU 3 exit IF %ERRORLEVEL% EQU 4 GOTO PS ) :normal "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Word 2013.lnk" exit :admin rem %windir%\nircmd.exe elevate "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Word 2013.lnk" start "" /B "c:\XXX\WORD_admin.lnk" exit S wmic process where name='ps64ldr.exe' call terminate wmic process where name='punto.exe' call terminate rem schtasks /End /TN "Punto Switcher (Хозяин)" TIMEOUT /T 3 /NOBREAK cls goto M1 :write :: Вывести цветную надпись без перевода строки :: %1 - цвет :: %2 - текст надписи :: %3 - флаг, любое значение, если нужно двоеточие в конце строки setlocal :write1 set "tempFolder=%TEMP%\%~n0.%time:~-2%.%random%" md "%tempFolder%" 2>nul || goto write1 pushd %tempFolder% set /p .=.<nul>"%~2" findstr /a:%~1 /c:"." /s "%~2" if "%~3"=="" (set /p .= <nul) else set /p .= <nul popd rd /s /q "%tempFolder%" 2>nul endlocal & exit /b :writeLn :: Вывести цветную надпись с переводом строки :: %1 - цвет :: %2 - текст надписи :: %3 - флаг, любое значение, если нужно двоеточие в конце строки call :write %1 "%~2" %3 echo: exit /b :beep :: Подача звукового сигнала setlocal 0<nul set /p strTemp= endlocal & exit /b |