Login-Skript mit Batch- und Exe-Aufrufen laeuft nicht durch

05/08/2008 - 19:57 von Bernd Leutenecker | Report spam
Hallo!

Ich habe ein Login-Skript fuer XP-Clients in
unserem AD (2003er-Domaene) angelegt, in
welchem ich weitere Skripte per
call batchdatei.bat
aufrufe:

echo Blabla
call batchdatei-1.bat
call batchdatei-2.bat
exit

Ich hatte jedoch keinen Erfolg damit und erst
viele Tests zeigten, dass die Ursache darin
liegt, dass ich am Ende die Skripte mit
exit
verlasse, was offenbar nicht klappt, jedenfalls
fand keine Rueckkehr ins 'Basis-Skript' statt.
Um im Beispiel zu bleiben: batchdatei-1.bat
wurde ausgefuehrt, dann aber beendete das Skript
sofort, batchdatei-2.bat kam nicht mehr zur
Ausfuehrung.

Erst der Wechsel zu
GOTO :EOF
war nun erfolgreich.

In einem bereits vorhandene Skript wird auch
eine externe .exe-Datei aufgerufen.
An dieser Stelle klappt auch der Weg ueber EOF
nicht mehr, d. h.
GOTO :EOF
nach
call exe
wird nicht mehr beachtet, weil ich diesen
call-Zweig auch nochmals irgendwie mit EOF
verlassen muesste.

Was muss ich tun? Ist call die falsche Wahl
fuer diesen Zweck? Um ehrlich zu sein, bin
ich mir eigentlich ziemlich sicher, dass ich
so etwas vor vielen (NT-...) Jahren ueber
exit und call geloest hatte und kann mich
nicht an die Nutzung von GOTO :EOF erinnern.

Letztlich moechte ich im Laufe der Zeit
erreichen, dass es viele kurze Skripte gibt,
welche dann in mehreren verschiedenen Login-
Skripten z. B. fuer bestimmte User-Gruppen
nur bei Bedarf aufgerufen werden.
Im Moment dagegen sind mehrere grosse Skripte
vorhanden mit viel redundantem Inhalt wie
Laufwerksmapping, der bei jeder Aenderung
auch in jedem Skript korrigiert werden muss.

Danke!

Bernd Leutenecker
 

Lesen sie die antworten

#1 Thorsten Kampe
05/08/2008 - 20:56 | Warnen spam
* Bernd Leutenecker (Tue, 5 Aug 2008 19:57:14 +0200)
Ich habe ein Login-Skript fuer XP-Clients in unserem AD
(2003er-Domaene) angelegt, in welchem ich weitere Skripte per call
batchdatei.bat aufrufe:



Hat dein Problem etwas mit dem Thema der Newsgruppe zu tun? Nein.

echo Blabla
call batchdatei-1.bat
call batchdatei-2.bat
exit

Ich hatte jedoch keinen Erfolg damit und erst viele Tests zeigten,
dass die Ursache darin liegt, dass ich am Ende die Skripte mit exit
verlasse, was offenbar nicht klappt, jedenfalls fand keine Rueckkehr
ins 'Basis-Skript' statt.



Warum liest du nicht einfach die Dokumentation anstatt stundenlang
herumzuprobieren?

Um im Beispiel zu bleiben: batchdatei-1.bat wurde ausgefuehrt, dann
aber beendete das Skript sofort, batchdatei-2.bat kam nicht mehr zur
Ausfuehrung.



Was soll ein "exit" am Ende einer Batch-Datei bewirken?? Lass es doch
einfach weg.

Erst der Wechsel zu
GOTO :EOF
war nun erfolgreich.



Und genauso sinnlos wie das "exit"...

In einem bereits vorhandene Skript wird auch eine externe .exe-Datei
aufgerufen. An dieser Stelle klappt auch der Weg ueber EOF nicht mehr,
d. h.
GOTO :EOF
nach
call exe



Was soll das? Lies die Dokumentation: nur Batch-Dateien werden mit call
aufgerufen. Hier gilt das gleiche wie bei deinem "exit": lass es einfach
weg.

Was muss ich tun? Ist call die falsche Wahl fuer diesen Zweck?



Schon mal probiert? Dein Computer wird nicht explodieren...

Um ehrlich zu sein, bin ich mir eigentlich ziemlich sicher, dass ich
so etwas vor vielen (NT-...) Jahren ueber exit und call geloest hatte
und kann mich nicht an die Nutzung von GOTO :EOF erinnern.


Letztlich moechte ich im Laufe der Zeit erreichen, dass es viele kurze
Skripte gibt, welche dann in mehreren verschiedenen Login- Skripten z.
B. fuer bestimmte User-Gruppen nur bei Bedarf aufgerufen werden.



ifmember.exe


Hol dir die kostenlose Version von Take Command: die ist bestens
dokumentiert und konsistent: http://jpsoft.com/tccledes.htm


Thorsten

Ähnliche fragen