Netzlaufwerk per Batch Script verbinden!
Hallo zusammen! Ich bracuche mal eure Hilfe beim Erstellen eines Batchscriptes!
Ich soll als Schulaufgabe ein Batchscript zu folgendem Szenario schreiben:
Je nach Klassenraum soll das entsprechende Lehrer-Netzlaufwerk per Script verbunden werden.
Klassenraum 1 : Ip-Bereich 192.168.0.1 -10 Lehrerlaufwerk 192.168.0.19/Lehrer
Klassenraum 2: Ip-Bereich 192.168.0.30 - 41 Lehrerlaufwerk 192.168.0.42/Lehrer
Klassenraum 3: Ip-Bereich 192.168.0.60 - 75 Lehrerlaufwerk 192.168.0.76/Lehrer
Wenn ich das richtig verstanden habe soll zu Beginn des Scripts geprüft werden in welchem IP-Bereich man sich befindet und dann das entsprechende Lehrerlaufwerk verbunden werden.
Als kleine Hilfe hat uns der Lehrer die Befehle ipconfig + findstring genannt.
Klar mit ipconfig kann ich die IP herausfinden, soviel weiß ich und mit findstring kann ich irgendwie auch ip´s prüfen.
Wäre nett wenn mir da jemand weiterhelfen könnte.
Danke!
Je nach Klassenraum soll das entsprechende Lehrer-Netzlaufwerk per Script verbunden werden.
Klassenraum 1 : Ip-Bereich 192.168.0.1 -10 Lehrerlaufwerk 192.168.0.19/Lehrer
Klassenraum 2: Ip-Bereich 192.168.0.30 - 41 Lehrerlaufwerk 192.168.0.42/Lehrer
Klassenraum 3: Ip-Bereich 192.168.0.60 - 75 Lehrerlaufwerk 192.168.0.76/Lehrer
Wenn ich das richtig verstanden habe soll zu Beginn des Scripts geprüft werden in welchem IP-Bereich man sich befindet und dann das entsprechende Lehrerlaufwerk verbunden werden.
Als kleine Hilfe hat uns der Lehrer die Befehle ipconfig + findstring genannt.
Klar mit ipconfig kann ich die IP herausfinden, soviel weiß ich und mit findstring kann ich irgendwie auch ip´s prüfen.
Wäre nett wenn mir da jemand weiterhelfen könnte.
Danke!
5 Antworten
- LÖSUNG dog schreibt am 02.02.2010 um 18:03:55 Uhr
- LÖSUNG Mark99 schreibt am 02.02.2010 um 18:32:58 Uhr
- LÖSUNG Biber schreibt am 02.02.2010 um 19:00:34 Uhr
- LÖSUNG Mark99 schreibt am 02.02.2010 um 18:32:58 Uhr
- LÖSUNG Korrn schreibt am 02.02.2010 um 22:37:18 Uhr
- LÖSUNG Mark99 schreibt am 24.02.2010 um 15:33:03 Uhr
LÖSUNG 02.02.2010 um 18:03 Uhr
LÖSUNG 02.02.2010 um 18:32 Uhr
LÖSUNG 02.02.2010 um 19:00 Uhr
Moin Maik99,
okay, ein Stückchen weit können wir dich schon auf den Weg bringen.
Wenn dir als Bewertung der Hausaufgabe bzw. deinen Ansprüchen ein "ausreichend" genügen würde, dann wäre die Entwicklung der Strategie so:
Also könntest du rein formal mit Copy&Paste ziemlich schnell diesen Batchablauf runterschrubbeln:
Allerdings würde das bedeuten, dass du für x-Prüfungen auch x-mal IPConfig aufrufen würdest... das ist suboptimal.
besser wäre die Ausgabe von "IPConfig->relevante Zeile" in einer Variable zu speichern, entweder über den Umweg einer Zwischenspeicherung in einer Ein-Zeilen-Textdatei oder die Ausgabe über eine FOR/F-Anweisung (siehe Hilfe FOR/?) direkt weiterzuverwerten.
Grüße
Biber
okay, ein Stückchen weit können wir dich schon auf den Weg bringen.
Wenn dir als Bewertung der Hausaufgabe bzw. deinen Ansprüchen ein "ausreichend" genügen würde, dann wäre die Entwicklung der Strategie so:
- Okay, wenn ich "IPconfig" ohne irgendwelchen Schnickschnack abfeuere am CMD-Prompt, erhalte ich 'ne Handvoll Ausgabezeilen.
>ipconfig
Windows-IP-Konfiguration
Ethernetadapter MUH-LAN:
Verbindungsspezifisches DNS-Suffix: aaa.bbb.ttt.
IP-Adresse. . . . . . . . . . . . : 10.xxx.yyy.zzz
Subnetzmaske. . . . . . . . . . . : 255.255.254.0
Standardgateway . . . . . . . . . : 10.xxx.aaa.1
- Wenn ich davon die (toi toi toi) einzig relevante Zeile abgreifen will, dann ist es die Zeile mit dem Suchstring "IP-Adresse" Das sollte ein [ IPconfig|Findstr "IP-Ad" ] leisten
- wenn außer dem String "IP-Ad" noch ZUSÄTZLICH der String "192.168.0.19" enthalten ist, dann ist das Lehrerlaufwerk von Klassenraum 1 zu mappen.
- wenn nicht, aber außer dem String "IP-Ad" noch ZUSÄTZLICH der String "192.168.0.1" enthalten ist, dann ist das Schülerlaufwerk von Klassenraum 1 zu mappen.
- usw.
Also könntest du rein formal mit Copy&Paste ziemlich schnell diesen Batchablauf runterschrubbeln:
:: ---Erste Skizze eines formal richtigen Batchablaufs
IPconfig|Findstr "IP-Ad"|find "192.168.0.19" goto :KL1_Lehrer
:: wenn der Batch nicht dem GOTO gefolgt ist, macht er hier weiter... aber nur dann
IPconfig|Findstr "IP-Ad"|find "192.168.0.1" goto :KL1_Hansels
:: wenn der Batch nicht dem GOTO gefolgt ist, macht er hier weiter... aber nur dann
.....
...usw. usw.
..
goto :eof
:: Ende des Hauptbatches
~~~ Raum für Notizen..
~~~ es folgen ein paar "Sub-Routinen"
:KL1_Lehrer
:: #machWatt für die Lehrer Kl.1
goto :eof
:KL1_Hansels
:: #machWatt für die Hansels Kl.1
goto :eof
...
besser wäre die Ausgabe von "IPConfig->relevante Zeile" in einer Variable zu speichern, entweder über den Umweg einer Zwischenspeicherung in einer Ein-Zeilen-Textdatei oder die Ausgabe über eine FOR/F-Anweisung (siehe Hilfe FOR/?) direkt weiterzuverwerten.
Grüße
Biber
LÖSUNG 02.02.2010 um 22:37 Uhr
LÖSUNG 24.02.2010 um 15:33 Uhr