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
Please also mark the comments that contributed to the solution of the article
Content-Key: 160682
Url: https://administrator.de/contentid/160682
Printed on: April 20, 2024 at 03:04 o'clock
3 Comments
Latest comment
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