summaryrefslogtreecommitdiff
path: root/wininstall/script/restart.bat
diff options
context:
space:
mode:
Diffstat (limited to 'wininstall/script/restart.bat')
-rw-r--r--wininstall/script/restart.bat110
1 files changed, 110 insertions, 0 deletions
diff --git a/wininstall/script/restart.bat b/wininstall/script/restart.bat
new file mode 100644
index 0000000..f174e7f
--- /dev/null
+++ b/wininstall/script/restart.bat
@@ -0,0 +1,110 @@
+@ECHO OFF
+rem ---------------------------------------------------------------------------
+rem Start Script for the NMS Client
+rem ---------------------------------------------------------------------------
+
+rem Guess NMSCLIENT_HOME if not defined
+set "PRG_DIR=%~dp0"
+
+
+if not "%NMSCLIENT_HOME%" == "" goto gotHome
+
+set "NMSCLIENT_HOME=%PRG_DIR%"
+if exist "%NMSCLIENT_HOME%\bin\NMSClient.exe" goto okHome
+cd /d %PRG_DIR%\..
+set "NMSCLIENT_HOME=%cd%"
+cd "%PRG_DIR%"
+
+:gotHome
+if exist "%NMSCLIENT_HOME%\bin\NMSClient.exe" goto okHome
+echo The NMSCLIENT_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+
+:okHome
+
+::----NMSCLIENT_TASKDIR use : modify taskresult and start shouhu
+set "NMSCLIENT_TASKDIR=%NMSCLIENT_HOME%\task"
+if ""%3"" == """" goto okHome2
+set "NMSCLIENT_TASKDIR=%3"
+set "cd_=%3"
+:loop
+set "cd_=%cd_:*\=%"
+set "cd_tmp=%cd_:\=%"
+if not "%cd_tmp%"=="%cd_%" goto loop
+call set "NMSCLIENT_TASKDIR=%%NMSCLIENT_TASKDIR:%cd_%=%%"
+
+:okHome2
+
+echo NMSCLIENT_HOME: %NMSCLIENT_HOME%
+echo NMSCLIENT_TASKDIR: %NMSCLIENT_TASKDIR%
+set "wtitle=NmsClient"
+set "_NAME=NMSClient.exe"
+
+set procExist=0
+wmic process where name="%_NAME%" get name |findstr "%_NAME%">nul &&set /a procExist+=1
+if not "%procExist%" == "0" goto stopProc
+echo %wtitle% is not start, now start......
+goto copyCode
+
+:stopProc
+echo %wtitle% is start, now restart......
+
+set "shouhu_name=nmsclient_shouhu.bat"
+::-------stopShouhu
+set shouhuProcExist=0
+wmic process where name="cmd.exe" get CommandLine |findstr "%shouhu_name%">nul &&set /a shouhuProcExist+=1
+if not "%shouhuProcExist%" == "0" (
+ echo stop shouhu process .....
+ wmic process where "name='cmd.exe' and CommandLine like '%%nmsclient_shouhu.bat%%'" delete
+ ping -n 3 127.0.0.1>nul
+)
+::-------startShouhu
+set shouhuProcExist=0
+wmic process where name="cmd.exe" get CommandLine |findstr "%shouhu_name%">nul &&set /a shouhuProcExist+=1
+if "%shouhuProcExist%" == "0" (
+ echo start shouhu process .....
+ start /b %NMSCLIENT_HOME: =" "%\script\nmsclient_shouhu.bat %NMSCLIENT_TASKDIR: =" "% >nul 2>&1
+)
+
+wmic process where name="%_NAME%" delete >nul
+ping -n 3 127.0.0.1>nul
+set stopOk=0
+wmic process where name="%_NAME%" get name |findstr "%_NAME%">nul &&set /a stopOk+=1
+if not "%stopOk%" == "0" goto handleTask
+
+:copyCode
+set copyError=0
+if ""%1"" == """" goto startProc
+if ""%2"" == """" goto startProc
+if ""%3"" == """" goto startProc
+if not ""%1"" == """" (
+ if not ""%2"" == """" (
+ if not ""%3"" == """" (
+ xcopy /Y /I /E /F %1 %2 >>%3 2>&1 ||set /a copyError+=1
+ ) else (
+ xcopy /Y /I /E /F %1 %2 >nul 2>&1 ||set /a copyError+=1
+ )
+ rmdir /S /Q %1 >nul 2>&1
+ )
+)
+rem ---------- copy error
+if not "%copyError%" == "0" goto handleTask
+
+:startProc
+net start NMSClient
+set startOk=0
+ping -n 3 127.0.0.1>nul
+wmic process where name="%_NAME%" get name |findstr "%_NAME%">nul &&set /a startOk+=1
+if not "%startOk%" == "1" goto handleTask
+goto end
+
+:handleTask
+if "%NMSCLIENT_TASKDIR%" == "" goto end
+if not exist "%NMSCLIENT_TASKDIR%" goto end
+cd /d %NMSCLIENT_TASKDIR%
+ren *.upgrade *.result>nul 2>&1
+cd /d %NMSCLIENT_HOME%\bin
+goto end
+
+:end \ No newline at end of file