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

Netzlaufwerk per Batch Script verbinden!

Frage Entwicklung Batch & Shell

Mitglied: Mark99

Mark99 (Level 1) - Jetzt verbinden

02.02.2010 um 17:59 Uhr, 8017 Aufrufe, 5 Kommentare

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!
Mitglied: dog
02.02.2010 um 18:03 Uhr
Machs dir doch viel einfacher und viel praktischer:

Da die PCs in den Räumen immer R411-1...R411-16 o.Ä. heißen:

01.
if /i %computername:~0,3%==R411 goto R411 
02.
 
03.
echo # Nix passt 
04.
goto END 
05.
 
06.
:R411 
07.
echo #Raum 411 
08.
echo #Mach was 
09.
goto END 
10.
 
11.
:END
Bitte warten ..
Mitglied: Mark99
02.02.2010 um 18:32 Uhr
Danke!

Leider sollen aber ipconfig und findstr im script auftauchen bzw. verwendet werden. Sorry hatte ich vergessen zu erwähnen!
Bitte warten ..
Mitglied: Biber
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:

  • 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:
01.
:: ---Erste Skizze eines formal richtigen Batchablaufs 
02.
 
03.
IPconfig|Findstr "IP-Ad"|find "192.168.0.19" goto :KL1_Lehrer 
04.
:: wenn der Batch nicht dem GOTO gefolgt ist, macht er hier weiter... aber nur dann 
05.
IPconfig|Findstr "IP-Ad"|find "192.168.0.1" goto :KL1_Hansels 
06.
:: wenn der Batch nicht dem GOTO gefolgt ist, macht er hier weiter... aber nur dann 
07.
..... 
08.
...usw. usw. 
09.
 
10.
.. 
11.
goto :eof 
12.
:: Ende des Hauptbatches 
13.
~~~ Raum für Notizen.. 
14.
 
15.
 
16.
~~~ es folgen ein paar "Sub-Routinen" 
17.
:KL1_Lehrer 
18.
:: #machWatt für die Lehrer Kl.1 
19.
goto :eof 
20.
 
21.
:KL1_Hansels 
22.
:: #machWatt für die Hansels Kl.1 
23.
goto :eof 
24.
 
25.
... 
26.
 
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
Bitte warten ..
Mitglied: Korrn
02.02.2010 um 22:37 Uhr
Hallo,

gib in der Eingabeaufforderung doch mal "ipconfig /?" und "findstr /?" ein. Dann erhälst Du Anleitungen zu den entsprechenden Befehlen. Das Argument "/?" funktioniert auch mit anderen Batch-"Befehlen", wie IF und FOR.
Bitte warten ..
Mitglied: Mark99
24.02.2010 um 15:33 Uhr
So nach langem hin und her habe ich es so gemacht und es hat auch funktioniert:

ipconfig >ipconfigaw.txt
findstr "IP-Adresse" ipconfigaw.txt >zeileip.txt
for /L %%i in (1,1,20) do call map.cmd %%i
If findstr "0" ipconfigaw.txt (
net use z: \\192.168.0.200\%2 /persistent:no


pause
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

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