Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batchscripte mit variablenübergabe

Frage Entwicklung Batch & Shell

Mitglied: Knumskull

Knumskull (Level 1) - Jetzt verbinden

09.04.2009, aktualisiert 08:40 Uhr, 5750 Aufrufe, 14 Kommentare

Aufruf einer Batch-Datei aus einer anderen Datei und übergabe eines Parameters (zurück)

Hi,

also ich habe 2 CMD-Files

cmd1.bat
01.
@echo off 
02.
setlocal 
03.
 
04.
call cmd2.bat 
05.
if "%_return%"=="2" goto TOLL 
06.
if "%_return%"=="1" goto NICHTTOLL 
07.
goto EOF 
08.
 
09.
:TOLL 
10.
echo XXX 
11.
goto EOF 
12.
 
13.
:NICHTOLL 
14.
echo YYY 
15.
goto EOF 
16.
 
17.
:EOF
cmd2.bat
01.
@echo off 
02.
setlocal 
03.
echo mache irgendwas 
04.
endlocal  & set _return=2
sowas in der Art will ich haben. Also ich rufe das 2. Batchfile aus dem ersten auf und benötige einen Rückgabewert.
ich habe das ganze auch schon mit
01.
exit 1 
02.
exit 2
versucht, allerdings schiest mir ja dann die ganze shell ab.
Hat noch jemand eine Idee?

Gruß,
Steffen
Mitglied: bastla
09.04.2009 um 09:38 Uhr
Hallo Knumskull!

Ohne "Shellabschuss":
exit /b 1
Die Übergabe per Variable (%_return%) sollte aber eigentlich ohnehin funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: colinardo
09.04.2009 um 09:40 Uhr
Du kannst in Batch "cmd2.bat" Zeile 4 den errorlevel des vorherigen Befehls übergeben:
01.
endlocal  & set _return=%errorlevel%
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 09:54 Uhr
kann es einen zusammenhang mit

01.
setlocal enableextensions
haben?

Ich bin mir auch sicher, das es funtkionieren sollte.

Das mit
01.
exit /b 2
habe ich gerade auch schon versucht. allerdings will das auch nicht so recht funktionieren.

Irgendwie mag mich windows nicht
Bitte warten ..
Mitglied: colinardo
09.04.2009 um 10:03 Uhr
poste doch mal dein komplettes Script. So wie es oben steht funktioniert es bei mir ohne Probleme
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 10:20 Uhr
okay ... es ist aber ein wenig länger ... Die Skripte sind in der Reihenfolge angegeben, wie sie aufgerufen werden. Mein Problem besteht in der Kommunikation zwischen 'common_checks.bat' und 'check_update_ws.bat'

set_cmd_env.bat
01.
rem /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ 
02.
rem / Umgebungsvariablen setzen															/ 
03.
rem / Diese Variablen sind in allen anderen Skripten verfuegbar							/ 
04.
rem /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ 
05.
 
06.
 
07.
rem # CAE-Samba-Umgebung initialisieren 
08.
set CAE_SAMBA=<entfernt> 
09.
set APPL_HOME=%CAE_SAMBA%\appl 
10.
set CAE_PAKET_HOME=%APPL_HOME%\_admin\cae-support 
11.
set CAE_PAKET_SKRIPT_HOME=%CAE_PAKET_HOME%\_admin\skript 
12.
rem Skriptpfad fuer lokale Entwicklung verbogen 
13.
::set CAE_PAKET_SKRIPT_HOME=%HOMEDRIVE%%HOMEPATH%\Desktop\cae-support-paket\skript-paket 
14.
 
15.
rem # Skriptpfad der machine_list.txt 
16.
rem # Der Name der Datei 'machine_list.txt' wird als Parameter uebergeben 
17.
::set CAE_PAKET_MACHINELIST=%CAE_PAKET_SKRIPT_HOME%\%1 
18.
rem folgende Zeile dient der Entwicklung 
19.
set CAE_PAKET_MACHINELIST=%CAE_PAKET_SKRIPT_HOME%\machine_list_dev.txt 
20.
 
21.
 
22.
rem # Benoetigte Applikationen in die Umgebung laden 
23.
set PSEXEC=%CAE_PAKET_HOME%\_admin\tools\psexec.exe 
24.
set PSEXEC_OPT=-s 
25.
 
26.
rem # Skriptfiles des CAE-Samba Support-Paketes 
27.
set CAE_START_FILE=%CAE_PAKET_SKRIPT_HOME%\start.bat 
28.
set CAE_COMMON_CHECKS_FILE=%CAE_PAKET_SKRIPT_HOME%\common_checks.bat 
29.
set CAE_CHECK_UPDATE_WS_FILE=%CAE_PAKET_SKRIPT_HOME%\check_update_ws.bat 
30.
set CAE_MAKE_UPDATE_WS_FILE=%CAE_PAKET_SKRIPT_HOME%\make_update_ws.bat 
31.
 
32.
rem # Tempfile 
33.
set CAE_TEMPFILE=%TEMP%\cae_support_tmp_file.txt


start.bat
01.
@echo off 
02.
goto BEGIN 
03.
 
04.
 
05.
rem /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ 
06.
rem / Umgebungsvariablen setzen															/ 
07.
rem / Diese Variablen sind in allen anderen Skripten verfuegbar							/ 
08.
rem /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ 
09.
:BEGIN 
10.
setlocal  
11.
::enableextensions 
12.
 
13.
rem # Umgebung laden 
14.
set CAE_SUPPORT_ENV=\\cae-samba.wob.vw.vwg\appl\_admin\cae-support\_admin\skript 
15.
call "%CAE_SUPPORT_ENV%"\set_cmd_env.bat 
16.
 
17.
 
18.
rem /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ 
19.
rem / Beginn des Skriptes																/ 
20.
rem / Aenderungen ab hier, koennen den Ablauf beinflussen								/ 
21.
rem /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ 
22.
 
23.
if not "%1"=="" ( 
24.
  goto CRONJOB 
25.
) else ( 
26.
  goto MANUAL 
27.
28.
 
29.
:CRONJOB 
30.
  if exist "%CAE_PAKET_MACHINELIST%" ( 
31.
	rem # Wenn die Liste vorhanden ist, wird die Datei 'common_checks.bat' aufgerufen	 
32.
	set CMD=%CAE_COMMON_CHECKS_FILE% 
33.
	set CMD_EXT=%CAE_PAKET_MACHINELIST% 
34.
	goto NEXT_SKRIPT 
35.
36.
goto EOF 
37.
 
38.
 
39.
:MANUAL 
40.
rem # manueller Aufruf der 'start.bat' fuer die Neuinstallation des CAE-Samba Paketes 
41.
  :LOOP 
42.
  cls 
43.
  echo **************************** 
44.
  echo * CAE-Samba Support-Paket  * 
45.
  echo *--------------------------* 
46.
  echo * Manuelle Rechneraufnahme * 
47.
  echo **************************** 
48.
  echo . 
49.
  set /p WS_NAME=Rechnername eingeben [Abbruch mit Return]:  
50.
  rem # testen ob Eingabe leer 
51.
  if "%WS_NAME%"=="" ( 
52.
    echo Eingabe abgebrochen! 
53.
	goto EOF 
54.
55.
  rem # Test ob der Rechner erreichbar ist. 
56.
  ping -n 1 %WS_NAME% >NUL 2>&1 
57.
  if errorlevel 1 goto ERROR 
58.
  goto WEITER 
59.
    :ERROR 
60.
    rem # Farbe auf rot/weiss aendern 
61.
    color CF 
62.
	echo Der Rechner %WS_NAME% kann nicht erreicht werden. 
63.
	set /p check=Eingabe wiederholen? [j/n]  
64.
	if /I "%check%"=="j" ( 
65.
	  color 
66.
	  goto LOOP 
67.
68.
	if /I "%check%"=="n" ( 
69.
	  color 
70.
	  goto EOF 
71.
72.
  :WEITER 
73.
  rem # beim manuellen Aufruf, ist der Common-check nicht notwendig. 
74.
  rem # Dieser Part wird uebersprungen und es wird gleich 'check_update.bat' ausgefuehrt. 
75.
  set CMD=%CAE_CHECK_UPDATE_FILE% 
76.
  set CMD_EXT=%WS_NAME% 
77.
78.
  goto NEXT_SKRIPT 
79.
 
80.
 
81.
:NEXT_SKRIPT 
82.
rem # ruft das Skript start.bat mit den entsprechenden Parametern auf 
83.
::echo "%CMD%" "%CMD_EXT%" 
84.
call "%CMD%" "%CMD_EXT%" 
85.
if errorlevel 1 goto ERROR_COMMON 
86.
goto EOF 
87.
 
88.
:ERROR_COMMON 
89.
echo Fehler beim Aufruf der Datei 'common_checks.bat' 
90.
 
91.
:EOF 
92.
endlocal 
93.
rem exit 0 
94.
pause
common_checks.bat
01.
@echo off 
02.
goto BEGIN 
03.
 
04.
:BEGIN 
05.
setlocal  
06.
::enableextensions 
07.
 
08.
set LOCAL_MACHINELIST=%TEMP%\loc_machine_list.txt 
09.
 
10.
rem # lokale Kopie der 'machine_list.txt' anlegen, fuer den Fall das eine Abarbeitung laenger als 
11.
rem # 5 Minuten dauert. Somit ist Sichergestellt, dass keine Probleme aufgrund von Dateizugriffen 
12.
rem # entstehen. 
13.
copy /Y "%CAE_PAKET_MACHINELIST%" "%LOCAL_MACHINELIST%" >NUL 2>&1 
14.
if errorlevel 1 goto ERROR_COPY 
15.
goto SCHLEIFE 
16.
 
17.
:SCHLEIFE 
18.
rem # Jeden einzelnen Eintrag in der 'machine_list.txt' abarbeiten 
19.
cls 
20.
FOR /F "delims=\n" %%I IN (%LOCAL_MACHINELIST%) DO ( 
21.
  rem # Test ob der Rechner erreichbar ist. 
22.
  ping -n 1 %%I >NUL 2>&1 
23.
  if errorlevel 1 break 
24.
   
25.
 
26.
  rem # wenn erreichbar, wird die Datei 'check_update_ws.bat' auf dem Rechner gestartet. 
27.
  rem %PSEXEC% %PSEXEC_OPT% \\%%I cmd /C "%CAE_CHECK_UPDATE_WS_FILE%" >NUL 
28.
  call %CAE_CHECK_UPDATE_WS_FILE% %%I 
29.
::  echo _return: %_return% 
30.
  echo ERRORLEVEL: %errorlevel% 
31.
  if "%errorlevel%"=="55" ( 
32.
    echo Die Maschine %%I benoetigt ein Update! 
33.
    goto NEXT 
34.
35.
  if "%errorlevel%"=="0" ( 
36.
    echo Die Maschine %%I benoetigt KEIN Update! 
37.
  goto NEXT 
38.
39.
   
40.
  :NEED_UPDATE 
41.
  ::echo Errorlevel: %errorlevel% 
42.
  echo Die Maschine benoetigt ein Update! 
43.
  goto NEXT 
44.
   
45.
  :NO_UPDATE 
46.
  ::echo Errorlevel: %errorlevel% 
47.
  echo Die Maschine  benoetigt KEIN Update! 
48.
  goto NEXT 
49.
   
50.
  :NEXT 
51.
  break 
52.
53.
 
54.
rem lokale Kopie der 'machine_list.txt' wieder entfernen 
55.
del /F %LOCAL_MACHINELIST% 
56.
if errorlevel 1 goto ERROR_TMPDEL 
57.
goto EOF 
58.
 
59.
:ERROR_COPY 
60.
echo Fehler beim kopieren der Datei: %CAE_PAKET_MACHINELIST% 
61.
goto EOF 
62.
 
63.
:ERROR_TMPDEL 
64.
echo Fehler beim loeschen der Datei: %LOCAL_MACHINELIST% 
65.
goto EOF 
66.
 
67.
:EOF 
68.
rem exit 0 
69.
endlocal
check_update_ws.bat
01.
@echo off 
02.
goto BEGIN 
03.
 
04.
:BEGIN 
05.
setlocal  
06.
:: enableextensions 
07.
 
08.
rem # Umgebung laden 
09.
set CAE_SUPPORT_ENV=\\cae-samba.wob.vw.vwg\appl\_admin\cae-support\_admin\skript 
10.
call "%CAE_SUPPORT_ENV%"\set_cmd_env.bat" 
11.
 
12.
rem # Zu checkender Rechner 
13.
set REMOTE_WS=%1 
14.
 
15.
rem # Local tempfile 
16.
set LOC_TEMPFILE=%TEMP%\cae_support_tmp-file.txt 
17.
 
18.
rem # Environment-File 
19.
::set CAE_ENV_FILE=%CAE_PAKET_HOME%\CAE-environment.reg 
20.
set CAE_ENV_FILE=%CAE_PAKET_SKRIPT_HOME%\CAE-environment.reg 
21.
 
22.
rem # aktuelle Version in Tempfile schreiben 
23.
type %CAE_ENV_FILE%|find "version" > %LOC_TEMPFILE% 
24.
 
25.
set /p CAE_VER=<"%LOC_TEMPFILE%" 
26.
rem # nur auf das Datum beschneiden 
27.
set CAE_VER=%CAE_VER:~11,16% 
28.
 
29.
reg query "\\%REMOTE_WS%\HKEY_LOCAL_MACHINE\SOFTWARE\CAE-Support\CAE-Berechnungsumgebung" | find "%CAE_VER%" >NUL 
30.
::reg query "HKEY_LOCAL_MACHINE\SOFTWARE\CAE-Support\CAE-Berechnungsumgebung" | find "%CAE_VER%" >NUL 
31.
if errorlevel 1 goto MAKE_CAE_UPDATE 
32.
goto AKTUELLE_VERSION 
33.
 
34.
:MAKE_CAE_UPDATE 
35.
del /F %LOC_TEMPFILE% 
36.
endlocal 
37.
exit /B 55 
38.
goto EOF 
39.
 
40.
 
41.
:AKTUELLE_VERSION 
42.
del /F %LOC_TEMPFILE% 
43.
echo 321 
44.
endlocal 
45.
exit /B 0 
46.
goto EOF 
47.
 
48.
:EOF
Bitte warten ..
Mitglied: bastla
09.04.2009 um 10:37 Uhr
Hallo Knumskull!

Das Problem besteht darin, dass der Errorlevel innerhalb der "for /f"-Schleife (aus Zeile 20) ausgewertet werden soll - ohne "delayedExpansion" wird aber der Wert der Variablen (eben auch von %errorlevel%) bereits zu Beginn der Schleife ermittelt ...

Funktionieren sollte aber
if errorlevel 55 (
oder, wenn es keiner weiterer Unterscheidung bedarf, einfach (da bei "if errorlevel" immer eine Abfrage auf ">=angegebener Wert" erfolgt):
if errorlevel 1 ( 
    echo Die Maschine %%I benoetigt ein Update! 
) else ( 
    echo Die Maschine %%I benoetigt KEIN Update! 
)
Damit hättest Du dann beide Fälle abgedeckt.

Grüße
bastla
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 10:52 Uhr
Danke für die Antwort, aber so richtig verstehen tue ich die nciht

Das Problem an der Sache ist, dass nach

Zeile: 28
01.
call %CAE_CHECK_UPDATE_WS_FILE% %%I
der errorlevel == 0 ist. demnach kann ich verknüpfen, was ich möchte. Ich habe immer 0. Auf das
01.
exit /b 55
reagiert die shell gar nicht

was hat es mit dem delayedexpansion auf sich? Wo ist das mal gut beschrieben, oder kannst du mir das ein bissl näher bringen?

*P.S.: gibt es ein gutes Buch über Batch-Scripting?
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 11:07 Uhr
okay, das mit dem delayedexpansion hab ich soweit verstanden. (warum macht man sowas) *OMG*

Mein Problem ist jetzt gerade noch, das die FOR-Schleife in Zeile 20 irgendwie nicht sauber arbeitet.

gewollt ist, das die Schleife die Datei Zeilenweise abarbeitet.

in der Datei stehen Computernamen
01.
computer1 
02.
computer2 
03.
computer3
Aber so wie es für mich aussieht, wird nur der erste Eintrag genommen? Woran kann das liegen?
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 12:00 Uhr
ich habe die For-Schleife jetzt mal ein wenig umgebaut. So funktioniert es eigentlich ganz gut. Allerdings nur für den ersten Computer. Beim zweiten unterscheidet er irgendwie nicht mehr zwischen den Errorleveln. Siehe Ausgabe. Woran könnte das liegen?



01.
FOR /F "delims=" %%I IN (%LOCAL_MACHINELIST%) DO ( 
02.
  rem # Test ob der Rechner erreichbar ist. 
03.
  ping -n 1 %%I >NUL 2>&1 
04.
  if not errorlevel 1 ( 
05.
	rem # wenn erreichbar, wird die Datei 'check_update_ws.bat' auf dem Rechner gestartet. 
06.
	rem %PSEXEC% %PSEXEC_OPT% \\%%I cmd /C "%CAE_CHECK_UPDATE_WS_FILE%" >NUL 
07.
	call %CAE_CHECK_UPDATE_WS_FILE% %%I 
08.
	rem # Debug 
09.
	echo !ErrorLevel: !errorlevel! 
10.
	echo %ErrorLevel: %errorlevel% 
11.
	if errorlevel 55 ( 
12.
	  echo Die Maschine %%I benoetigt ein Update! 
13.
14.
	if errorlevel 10 ( 
15.
		echo Die Maschine %%I benoetigt KEIN Update! 
16.
17.
18.
)
Ausgabe:
01.
ErrorLevel: 10 
02.
ErrorLevel: 0 
03.
Die Maschine Computer1 benoetigt KEIN Update 
04.
 
05.
Error:  Zugriff verweigert 
06.
ErrorLevel: 55 
07.
ErrorLevel: 0 
08.
Die Maschine Computer2 benoetigt ein Update 
09.
Die Maschine Computer2 benoetigt KEIN Update 
10.
Drücken Sie eine beliebige Taste . . .
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 12:36 Uhr
jetzt hab ich es soweit fertig.

01.
	if errorlevel 55 (  
02.
	  echo Die Maschine %%I benoetigt ein Update!  
03.
	)  
04.
	if errorlevel 10 (  
05.
		echo Die Maschine %%I benoetigt KEIN Update!  
06.
	) 
is klar, wenn errorlevel 55, denn is das ja auch größer 10 ... also beide ausgaben ...

und ein GOTO kann man nicht einbauen, weil er dann die schleife nicht weiter abarbeitet. Alles ziemlich Trickreich.

Jetzt suche ich nur noch eine Sache, das aber besser in einem anderen Thema.

Bleibt nur noch die Frage nach dem Buch ;)

Gruß,
STeffen
Bitte warten ..
Mitglied: bastla
09.04.2009 um 14:51 Uhr
is klar, wenn errorlevel 55, denn is das ja auch größer 10 ... also beide ausgaben ...
Wenn es doch aber ein klarer Fall von "entweder - oder" ist, warum dann nicht die oben dargestellte Konstruktion mit dem "else"?

Grüße
bastla

P.S.: Buchtipp habe ich leider keinen zu bieten (aber ein gutes Forum wüsste ich ) ...
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 15:10 Uhr
ist es nicht mehr :D ... ich war ja noch nicht fertig.

so sieht es jetzt aus.
01.
FOR /F "delims=" %%I IN (%LOCAL_MACHINELIST%) DO ( 
02.
  rem # Test ob der Rechner erreichbar ist. 
03.
  ping -n 1 %%I >NUL 2>&1 
04.
  if not errorlevel 1 ( 
05.
	rem # wenn erreichbar, wird die Datei 'check_update_ws.bat' auf dem Rechner gestartet. 
06.
	call %CAE_CHECK_UPDATE_WS_FILE% %%I 
07.
	rem # Debug 
08.
	rem echo !ErrorLevel: !errorlevel! 
09.
	rem echo %ErrorLevel: %errorlevel% 
10.
	if !errorlevel! equ 55 ( 
11.
	  echo %%I: benoetigt Update! 
12.
	  rem echo. 
13.
	)  
14.
	if !errorlevel! equ 20 ( 
15.
	  rem # Keine CAE-Berechnungsumgebung installiert. 
16.
	  echo %%I: Keine CAE-Berechnungsumgebung installiert! 
17.
	  rem echo. 
18.
19.
	if !errorlevel! equ 10 ( 
20.
	  rem # Keine Adminrechte 
21.
	  echo %%I: Kein Zugriff, eventuell fehlen die Adminrechte! 
22.
	  rem echo. 
23.
24.
	if !errorlevel! equ 0 ( 
25.
	  echo %%I: aktueller Stand. 
26.
	  rem echo. 
27.
28.
29.
)
Bitte warten ..
Mitglied: bastla
09.04.2009 um 15:23 Uhr
Hallo Knumskull!

So sollte es natürlich dann auch gehen - oder, etwas entspannter (und ohne "delayedExpansion"):
01.
FOR /F "delims=" %%I IN (%LOCAL_MACHINELIST%) DO ( 
02.
  rem # Test ob der Rechner erreichbar ist. 
03.
  ping -n 1 %%I >NUL 2>&1 && call :Check "%%i" 
04.
05.
goto :eof 
06.
 
07.
:Check 
08.
rem # da erreichbar, wird die Datei 'check_update_ws.bat' auf dem Rechner gestartet. 
09.
call %CAE_CHECK_UPDATE_WS_FILE% %1 
10.
rem # Debug 
11.
rem echo %ErrorLevel: %errorlevel% 
12.
 
13.
if %errorlevel%==55 goto :Update 
14.
if %errorlevel%==20 goto :KeineCAE 
15.
if %errorlevel%==10 goto :KeinAdmin 
16.
if %errorlevel%==0  goto :Aktuell 
17.
 
18.
echo %~1: Unbekannter Fehler %errorlevel% 
19.
rem echo\ 
20.
goto :eof 
21.
 
22.
Update 
23.
echo %~1: benoetigt Update! 
24.
rem echo. 
25.
rem ... 
26.
goto :eof 
27.
  
28.
:KeineCAE 
29.
rem # Keine CAE-Berechnungsumgebung installiert. 
30.
echo %~1: Keine CAE-Berechnungsumgebung installiert! 
31.
rem echo. 
32.
goto :eof 
33.
 
34.
:KeinAdmin 
35.
rem # Keine Adminrechte 
36.
echo %~1: Kein Zugriff, eventuell fehlen die Adminrechte! 
37.
rem echo. 
38.
goto :eof 
39.
 
40.
:Aktuell 
41.
echo %~1: aktueller Stand. 
42.
rem echo. 
43.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: Knumskull
09.04.2009 um 15:59 Uhr
sieht sehr gut und interessant aus. nehm ich einfach mal so mit
allerdings hat es beim einsetzten nicht gleich funktioniert. Daher lege ich das erstmal auf Eis und behalte diese Version im Hinterkopf.

Danke auf jedenfall, hast mir sehr gut geholfen ;)

gruß,
STeffen
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...