fireti
Goto Top

GOTO-Befehl nach Computername

Hi,

ich brauche eine Batch welche, durch eine GOTO Anweisung in Abhängigkeit vom Computernamen eine Batch aufruft...

mein bisheriger Batch sieht wie folgt aus:

@echo off

IF %computername% == WTS1 GOTO LoWTS
IF NOT %computername" == WTS1 GOTO LoLok  

:LoWTS
call batch1.bat

:LoLok
call batch2.bat

soll bewirken das wenn der User sich auf dem WTS1 anmeldet das die Batch1 gestartet wird, meldet er sich aber an einem PC an welcher NICHT WTS1 heißt
soll Batch2 ausgeführt werden.

Schritt 2 wäre dann eine Batch welche selbiges tut, jedoch unter folgenden bedingungen:

bin ich auf WTS1 oder WTS2 oder WTS3 dann batch1
wenn nicht dann batch2

Danke

Content-Key: 160682

Url: https://administrator.de/contentid/160682

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: bastla
bastla 13.02.2011 um 19:01:13 Uhr
Goto Top
Hallo fireti!

Ausgehend von der Tatsache, dass der Computername nur WTS1 oder doch nicht WTS1 sein kann, würde sich Dein erster Ansatz auf
if /i %computername%==WTS1 (call batch1.bat) else (call batch2.bat)
etwas reduzieren lassen ...
Für die zweite Variante käme es darauf an, ob eine Überprüfung auf den Beginn mit "WTS" ausreicht, oder ob tatsächlich eine konkrete Liste mit Namen geprüft werden soll -
Fall 1:
echo %computername%|findstr /i /b "WTS">nul && call batch1.bat || call batch2.bat
Fall 2:
set "WTS="  
for %%i in (WTS1 WTS2 WTS3) do if  /i %computername%==%%i set WTS=True
if defined WTS (call batch1.bat) else (call batch2.bat)
In allen Fällen sieht jedenfalls der Batch besser aus, wenn er beim Posten als "" formatiert wird ...

Grüße
bastla
Mitglied: fireti
fireti 14.02.2011 um 09:04:33 Uhr
Goto Top
vielen dank...

klappt bestens... "Fall1" hat im übrigen gereicht, da die WTS-Server alle mit WTS beginnen.

nun muss ich mich bei gelegenheit nur mal an die systax setzten um sie zu verstehen... will ja lernen und net nur abschreiben face-smile

danke nochmal

fireti
Mitglied: bastla
bastla 14.02.2011 um 11:45:22 Uhr
Goto Top
Hallo fireti!
will ja lernen und net nur abschreiben face-smile
Vernünftiger Ansatz ... face-smile


Version 2 verwendet einen "Schalter", dessen Zustand (nicht gesetzt / gesetzt - der zugewiesene Wert ist dabei eigentlich egal) sich nur ändert, wenn eine der in der Schleife durchgeführten "if"-Abfragen eine Übereinstimmung ergibt - damit lassen sich "oder"-Verknüpfungen realisieren ...

Grüße
bastla