Во-первых, извините, пожалуйста, за мое невежество, так как я новичок в написании скриптов .. Вот что я планирую сделать
Остановить службу
(было бы хорошо, если бы я мог проверить, существует ли служба в первую очередь, иначе она все равно должна продолжить работу со сценарием правильно?)
Проверьте, Win2k или WinXP, удалите службу и удалите файлы в соответствии с типом ОС
Установить новое приложение
Начать обслуживание
Вот что у меня есть на данный момент. Может ли кто-нибудь рассмотреть и предложить способы улучшения? Спасибо заранее.
@echo off
net stop "service name"
Здесь я хочу проверить, существует ли служба, если да, просто остановите ее, иначе выведите эхо «Служба не установлена» и перейдите к процедуре uninstall_and_install, могу ли я сделать, как показано ниже?
if ERRORLEVEL 0 GOTO uninstall_and_install IF NOT echo Service not found GOTO uninstall_and_install
:uninstall_and_install
C:
IF NOT EXIST c:\Windows GOTO Win2k
cd Windows\system32\
"insert commands to uninstall and install
:Win2k
cd Winnt\system32\
"insert commands to uninstall and install
exit
Вы можете получить некоторые подсказки из приведенного ниже примера.
@echo off
set SERVICENAME=w32time
REM Check if the service is installed
REM ==================================================
sc query %SERVICENAME% > nul 2>nul
if %ERRORLEVEL% == 1060 goto serviceDoesNotExist
:serviceDoesExist
net stop %SERVICENAME%
:serviceDoesNotExist
REM Get Operating System Version
for /F "usebackq delims==" %%i IN (`ver`) DO (set OSVersion=%%i)
echo %OSVersion% | find "Microsoft Windows [Version 6.1.7600]"
if %ERRORLEVEL% NEQ 0 GOTO :windows7
:windows7
echo Install the Application the Windows 7 way