Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

GELÖST

Batch über IP-Nummer steuern

Mitglied: Taekwondoler

Taekwondoler (Level 1) - Jetzt verbinden

21.07.2006, aktualisiert 02.08.2006, 4854 Aufrufe, 10 Kommentare

Benötige ein Script das sich aufgrund von der TCP-IP Einstellungen Bedingungen erfüllt

Hallo,

ich soll ein Script erstellen, dass folgende Dinge beherrscht:

Es soll automatisch erkennen, in welchem IP-Bereich es eingesetzt wird z. B. 192.168.10.0, oder 172.27.16.0, und entsprechend muss eine Datei kopiert werden.

Mein Script im Moment:
rem
rem Erstellung Verzeichnis und Daten kopieren
xcopy a:\quelle %ProgramFiles%\ziel /i /q
rem

Jetzt habe ich das Programm auf der Festplatte des entsprechenden Rechners, in der jeweiligen Firma.

Jetzt gibt es in diesem Verzeichnis eine mehere Datei, die die jeweiligen IP-Adresse des Servers beinhaltet, mit dem mittels dieses Programmes ein Verbindung herstellt werden soll.

Meine Problem ist jetzt, dass ich mittels dieses Scripts die "ipconfig"-Einstellungen des Rechners auslesen muss, um zu erfahren, in welchem Netz der Rechner hängt.

Aufgrund dieser Variablen möchte ich die entsprechende Datei kopieren. Die zu kopierende Datei könnte ruhig z.B. "192.168.10.0" heissen.

Wie bekomme ich dieses hin?

Gruss


Thomas Wagner
www.world-of-edv.de
Mitglied: maneich
21.07.2006 um 17:31 Uhr
Hallo,

poobiere es mal mit

for /f "skip=3 tokens=2 delims=:" %%e in ('ipconfig') do set x=%%e

bei skip muß du testen, könnte auch 5 sein.

MfG maneich
Bitte warten ..
Mitglied: Biber
21.07.2006 um 18:12 Uhr
...oder Du lässt das "skip" und das Probieren weg und filterst nur die für Dich wichtige Zeile raus.
for /f "tokens=2 delims=:" %i in ('ipconfig^|find "IP-A"') do Set myIP=%~i
echo IP ist %myIP%

Kannst auch hier mit der Forumssuch-Funktion ein paar andere Varianten finden.

Gruß
Biber
Bitte warten ..
Mitglied: Taekwondoler
21.07.2006 um 18:45 Uhr
Erst mal vielen DANK!!!!

Hab jetzt die komplette IP-Nummer des Rechners. Ich benötige aber noch einen kleinen weiteren Schritt.

Es sollen nur die ersten 24 bit der Netzwerkmaske stehen bleiben (172.27.16.), damit ich bestimmen kann welche Konfigurationsdatei kopiert werden soll.

Der Datei-Namen der Konfigurationsdateien lauten z.b. 172.27.16.txt oder 192.168.21.txt und darin sind eben Konfigurationen zum ansprechen der jeweiligen Server enthalten.

Wie krieg ich die letzten 8 Byte weg, damit ich den Kopiervorgang einleiten kann.

Schöne Grüße

Thomas Wagner
Bitte warten ..
Mitglied: Biber
21.07.2006 um 22:34 Uhr
Auch kein Problem,

nach dem ersten Schritt oben noch eine weitere Zeile:
for /f "tokens=2 delims=:" %i in ('ipconfig^|find "IP-A"') do Set myIP=%~i
for /f "tokens=1-3 delims=." %i in ("%myIP%") do Set myIP=%i.%j.%k
Im ganzen Satz bzw im Batch:
01.
::---snipp GetMyIpContext.bat 
02.
@echo off & setlocal 
03.
for /f "tokens=2 delims=:" %%i in ('ipconfig^|find "IP-A"') do Set myIP=%%~i 
04.
for /f "tokens=1-3 delims=." %%i in ("%myIP%") do Set myIP=%%i.%%j.%%k 
05.
echo Just for debug... MyIp is now [%MyIp%] 
06.
If not exist c:\myContexts\%MyIP%.txt ( 
07.
  echo Keine zur IP passende Datei c:\myContexts\%MyIP%.txt gefunden! 
08.
  pause 
09.
) else ( 
10.
rem Mach was mit %MyIp%.txt .... 
11.
12.
:: ---snapp GetMyIpContext.bat
(ungetestete Skizze)
Biber
Bitte warten ..
Mitglied: Taekwondoler
25.07.2006 um 08:50 Uhr
Vielen Dank für Eure Hilfe.

Ich möchte aufgrund einiger "alter" Win98 rechner auch noch ne Abfrage drinhaben, welches System läuft (%OS%) und daraufhin entscheiden, ob ipconfig oder winipcfg die Ausgabe der IP-Nummer erzeugen soll.

Ich benötige also für diese Zeile ein IF-Abfrage, soweit ist mir das klar.
for /f "tokens=2 delims=:" %%i in ('ipconfig^|find "IP-A"') do Set myIP=%%~i

If %OS%=="Windows_NT" (
for /f "tokens=2 delims=:" %%i in ('ipconfig^|find "IP-A"') do Set myIP=%%~i
)else (
for /f "tokens=2 delims=:" %%i in ('winipcfg^|find "IP-A"') do Set myIP=%%~i)

Aber wenn ich das so reinsetze, bricht das Script hier ab und wird nicht durchgezogen...

Bitte weiter um Eure Hilfe. DANKE!!!

Gruss



Thomas
Bitte warten ..
Mitglied: Biber
25.07.2006 um 10:06 Uhr
Moin Thomas,

die Abfrage hat nur einen kleinen Flüchtigkeitsfehler.

Falsch : IF %OS%=="Windows_NT" (
Besser: IF "%OS%"=="Windows_NT" (


Aber/Und:
- Unter Win98 gibt es weder die Variable %OS%
- und wichtiger: die ganzen CMD-Erweiterungen wie erweitertes FOR..IN..DO (FOR /F) oder auch die Tilde-Erweiterung für Variablen gibt es noch nicht.

Du musst also u.U., sollte das Skript auf dem Win98-Rechner laufen, auch syntaktisch darauf eingehen.

Gruß
Biber
Bitte warten ..
Mitglied: maneich
25.07.2006 um 12:48 Uhr
Hallo,

nun ja, wie Du die %OS%-Abfrage händeln mußt, hat Dir Biber ja schon gesagt.

Aber mit winipcfg kannst Du für Deine Zwecke nichts anfangen. Dieses Programm gibt keine Daten zurück wie ipconfig, die Du dann auch übernehmen kannst, sondern zeigt diese Daten nur in einem Windows-Fenster an. Unter Win 98 keine Möglichkeit, diese Daten zu übernehmen.

Bei WinME, das ja bekanntlich ein Zwitter sein soll, laufen beide Programme, ob diese ipconfig die gleiche wie auf W2K oder XP ist weiß ich auch nicht. Das müßtest Du mal testen indem Du die ipconfig auf einen Win98-Rechner kopierst. Zumindest die ipconfig von W2K sollte die gleiche sein und was auf WinME läuft, geht auch problemlos unter Win98.

Aber dann klappt es auch nicht mit for..... oder anderen Windows-Befehlen.

Das einfachste hier ist, Du besorgst Dir über

http://home.mnet-online.de/horst.muc/german.htm

das kleine Freewaretool "LMOD12"

Mit

ipconfig|find /i "IP-Adresse"|lmod /b:, Set ip=[$2]>%temp%\tmp.bat
for %%e in (call del) do %%e %temp%\tmp.bat

erhälst du deine Ip-Adresse in %ip% stehen und hast die temporäre Batch auch wieder gelöscht.

Die "IP-Adresse" bei find müßte dann noch abgeändert werden, wenn Dein ipconfig eine andere Bezeichnung anzeigt.

MfG maneich
Bitte warten ..
Mitglied: Taekwondoler
26.07.2006 um 07:55 Uhr
erst mal vielen dank, läuft unter win98 nicht sauber durch... was aber nichts macht... kaum zu glauben, aber wir schalten die alten kisten jetzt endlich ab .-))))

gibt immer wieder mal probleme damit... siehe hier...

danke an alle die mitgeholfen haben...
Bitte warten ..
Mitglied: benson
01.08.2006 um 18:49 Uhr
@maneich

>Aber mit winipcfg kannst Du für Deine Zwecke nichts anfangen. Dieses Programm gibt keine >Daten zurück wie ipconfig, die Du dann auch übernehmen kannst, sondern zeigt diese Daten >nur in einem Windows-Fenster an. Unter Win 98 keine Möglichkeit, diese Daten zu >übernehmen.

Hallo,
das ist so nicht ganz richtig. Auch winipcfg kennt den Schalter /Batch. Weitere Optionen gibt es mit winipcfg /?.

cu
benson
Bitte warten ..
Mitglied: maneich
02.08.2006 um 00:53 Uhr
@benson

Hallo,

nun ja, Du hast recht. Aber damit

winipcfg /batch C:\Windows\Desktop\tmp.txt
type C:\Windows\Desktop\tmp.txt|find /i "IP-Adresse"|lmod /b:, Set ip=[$2]>%temp%\tmp.bat
for %%e in (call del) do %%e %temp%\tmp.bat

ist der Weg zur IP umständlicher und erheblich langsamer.

MfG maneich
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch, Suche der Nummer in der Datei!
Frage von SportiiiBatch & Shell8 Kommentare

Hallo, mir wurde bereits durch jodel32 sehr geholfen es fehlt nur ein kleines Stück: Folgendes: Wenn ich eine Nummer ...

Batch & Shell
(Batch) Nummern vergleichen
gelöst Frage von clragonBatch & Shell3 Kommentare

ich weiss, dummes Problem, aber Ich finde nichts auf Google. Also ich habe eine FOR schleife die bei jedem ...

Voice over IP
2 IP-Anschlüsse mit 6 Nummern koordieren
Frage von DanielPaulVoice over IP7 Kommentare

Hallo zusammen, im Rahmen eines Büroumzugs gibt es eine Änderung in unserem Telefonsystem. Wir gehen von AnalogTelefonie zu IP-Anschlüssen ...

Batch & Shell
IP-Adresse in Batch, CMD
gelöst Frage von MaxophoniBatch & Shell12 Kommentare

Hallo, ich möchte in einer Batch-Datei eine Variable einfügen, die nur die IP-Adresse anzeigt. Dies funktioniert mittels ipconfig, doch ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 9 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 9 StundenSicherheit7 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 10 StundenSicherheit6 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 10 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen20 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...