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:
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160682
Url: https://administrator.de/contentid/160682
Ausgedruckt am: 05.11.2024 um 20:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo fireti!
Ausgehend von der Tatsache, dass der Computername nur WTS1 oder doch nicht WTS1 sein kann, würde sich Dein erster Ansatz auf
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:
Fall 2:
In allen Fällen sieht jedenfalls der Batch besser aus, wenn er beim Posten als "" formatiert wird ...
Grüße
bastla
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)
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
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)
Grüße
bastla
Hallo fireti!
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 "
Grüße
bastla
will ja lernen und net nur abschreiben
Vernünftiger Ansatz ... 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