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

GOTO-Befehl nach Computername

Frage Microsoft Windows Server

Mitglied: fireti

fireti (Level 1) - Jetzt verbinden

13.02.2011, aktualisiert 14.02.2011, 7876 Aufrufe, 3 Kommentare

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:

01.
@echo off 
02.
 
03.
IF %computername% == WTS1 GOTO LoWTS 
04.
IF NOT %computername" == WTS1 GOTO LoLok 
05.
 
06.
:LoWTS 
07.
call batch1.bat 
08.
 
09.
:LoLok 
10.
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
Mitglied: bastla
13.02.2011 um 19:01 Uhr
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:
01.
set "WTS=" 
02.
for %%i in (WTS1 WTS2 WTS3) do if  /i %computername%==%%i set WTS=True 
03.
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 "Code" formatiert wird ...

Grüße
bastla
Bitte warten ..
Mitglied: fireti
14.02.2011 um 09:04 Uhr
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

danke nochmal

fireti
Bitte warten ..
Mitglied: bastla
14.02.2011 um 11:45 Uhr
Hallo fireti!
will ja lernen und net nur abschreiben
Vernünftiger Ansatz ...

... wobei hier ja nicht viel dahinter ist: "findstr /?" zeigt Dir, wie der Vergleich erfolgt, und "&&" bzw "||" kannst Du generell einsetzen, um auf das Ergebnis der vorgehenden Anweisung ("erfolgreich" = Errorlevel 0 oder "nicht erfolgreich" = Errorlevel <> 0) zu reagieren. Das Unterdrücken der Ausgabe mit ">nul" ist dabei dann nur noch Kosmetik.

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
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...