Batch zum Wechseln von Installationsordnern

Hallo Gemeinde,

nachdem ich weiterhin den Gedanken gut finde, eine IPS Testversion und eine IPS Produktivversion parallel installiert zu haben und ich hier im Forum kein passendes Script fand, will ich Euch mein Batch Script zur Verfügung stellen. Vielleicht braucht es ja jemand :wink:

Es erlaubt das Wechseln von einem Installationsordner als IP-Symcon (bei mir unter D:/IP-Symcon --> ggf. Laufwerk anpassen !) und einem zweiten Installationsordner als IP-Symcon_switched (natürlich nicht gleichzeitig lauffähig).

Am Besten einen Link zum Batchfile aufs Desktop legen, welcher Administratorrechte hat (unter Eigenschaften --> Erweitert zu finden).

Die Funktionsweise ist ganz einfach:

  1. IP-Symcon Service stoppen, wenn aktiv
  2. IP-Symcon Tray stoppen, wenn aktiv
  3. Ordner IP-Symcon temporär in IP-Symcon_temp umbenennen
  4. Ordner IP-Symcon_switched final in IP-Symcon umbenennen
  5. Ordner IP-Symcon_temp final in IP-Symcon_switched umbenennen
  6. IP-Symcon Service starten
  7. IP-Symcon Tray starten

Achtung: das Herunterfahren von IPS_Tray.exe erfolgt forced. Also vorher neue Scripte speichern falls die Konsole geöffnet war ! Ich übernehme keine Veranwortung für eventuellen Datenverlust ! Vielleicht testweise den gesamten IPS-Ordner vorher sichern !

Hier mein IPS_Switch.bat:

@echo off

::---Anzeige blau/weiß---
color 9F 

echo **************************************************************
echo *                                                            *
echo *   IP-Symcon Installation zwischen WORK und TEST wechseln   *
echo *                                                            *
echo *   Version:    1.0 (Stand 02.08.2017)                       *
echo *   Autor:      André Liebmann                               *
echo *   Wichtig:    notwendige Ausführung als Administrator !    *
echo *   Empfehlung: Verknüpfung mit Administratorrechten         *
echo *                                                            *
echo **************************************************************
echo.
echo --------------------------------------------------------------
echo 1. IP-Symcon Service stoppen, wenn aktiv
echo 2. IP-Symcon Tray stoppen, wenn aktiv
echo 3. Ordner IP-Symcon temporär in IP-Symcon_temp umbenennen
echo 4. Ordner IP-Symcon_switched final in IP-Symcon umbenennen
echo 5. Ordner IP-Symcon_temp final in IP-Symcon_switched umbenennen
echo 6. IP-Symcon Service starten
echo 7. IP-Symcon Tray starten
echo --------------------------------------------------------------
echo.

::---Eingabe abwarten---
echo Moechten Sie wirklich den Ordner wechseln ? (j / n)

:Frage
SET /p wahl=
if /i not '%wahl%' == 'n' (if /i '%wahl%' == 'j' (goto Ja ) ) else goto Nein 
if defined wahl echo Antworten Sie Bitte nur mit j für Ja oder n für Nein. & goto Frage

:Nein
echo Sie haben NEIN gedrueckt
goto EOF

:Ja
echo Sie haben JA gedrueckt

echo.
echo **************************************************************
echo.

echo ---1. IP-Symcon Service stoppen, wenn aktiv-------------------
echo.
net start >NUL | find "IPSServer"
if errorlevel 0 net stop IPSServer && echo IP-Symcon Service gestoppt ! && echo.
if errorlevel 1 echo IP-Symcon Service ist bereits gestoppt ! && echo.

echo ---2. IP-Symcon Tray stoppen, wenn aktiv----------------------
echo.
tasklist /fi "IMAGENAME eq ips_tray.exe" >NUL
if errorlevel 0 taskkill /f /im "ips_tray.exe" /t >NUL && echo IP-Symcon Programm gestoppt ! && echo.
if errorlevel 1 echo IP-Symcon Programm ist bereits gestoppt ! && echo.

echo ---3. Ordner IP-Symcon in IP-Symcon_temp umbenennen-----------
echo.
if exist "D:\IP-Symcon"  (
rename "D:\IP-Symcon"  "IP-Symcon_temp"
if errorlevel 0 echo Ordner IP-Symcon in IP-Symcon_temp umbenannt ! && echo.
if errorlevel 1 echo Fehler - Ordner IP-Symcon nicht umbenannt - Abbruch ! && echo. && goto :fehler
)

echo ---4. Ordner IP-Symcon_switched in IP-Symcon umbenennen-------
echo.
if exist "D:\IP-Symcon_switched"  (
rename "D:\IP-Symcon_switched"  "IP-Symcon"
if errorlevel 0 echo Ordner IP-Symcon_switched in IP-Symcon umbenannt ! && echo.
if errorlevel 1 echo Fehler - Ordner IP-Symcon_switched nicht umbenannt - Abbruch ! && echo. && goto :fehler
)

echo ---5. Ordner IP-Symcon_temp in IP-Symcon_switched umbenennen--
echo.
if exist "D:\IP-Symcon_temp"  (
rename "D:\IP-Symcon_temp"  "IP-Symcon_switched"
if errorlevel 0 echo Ordner IP-Symcon_temp in IP-Symcon_switched umbenannt ! && echo.
if errorlevel 1 echo Fehler - Ordner IP-Symcon_temp nicht umbenannt - Abbruch ! && echo. && goto :fehler
)

echo ---6. IP-Symcon Service starten-------------------------------
echo.
net start IPSServer
if errorlevel 0 echo IP-Symcon Service gestartet ! && echo.
if errorlevel 1 echo Fehler - IP-Symcon Service konnte nicht gestartet werden - Abbruch && echo. && goto :fehler

echo ---7. IP-Symcon Tray starten----------------------------------
echo.
start D:\IP-Symcon\ips_tray.exe
if errorlevel 0 echo IP-Symcon Tray gestartet ! && echo. && goto :ende
if errorlevel 1 echo Fehler - IP-Symcon Tray konnte nicht gestartet werden - Abbruch && echo. && goto :fehler

:fehler
echo **************************************************************
echo.
echo Fehler beim Wechseln der IP-Symcon Installation...
pause
echo.
goto eof

:ende
echo **************************************************************
echo.
echo IP-Symcon Installation erfolgreich gewechselt...
echo.
pause
goto eof


Anregungen und Kommentare gern …

Gruß

André