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

gelöst Batch über IP-Nummer steuern

Mitglied: Taekwondoler

Taekwondoler (Level 1) - Jetzt verbinden

21.07.2006, aktualisiert 02.08.2006, 4870 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 ...

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 ...

Batch & Shell
IP Profile mit Batch verwalten
Frage von 126594Batch & Shell3 Kommentare

Hallo zusammen, Bisher habe ich schon ein wenig mit der programmierung von Batch Dateien auseinander gesetzt, nur übersteigt das ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 2 TagenAusbildung35 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 4 TagenSpeicherkarten5 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 5 TagenHardware4 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung27 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Windows Server
Probleme im AD am Außenstandort
gelöst Frage von emeriksWindows Server19 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

CMS
Seltsame Joomla-Meldung auf unserer WebSite
Frage von Winfried-HHCMS14 Kommentare

Hallo in die Runde! Kennt sich jemand mit Joomla aus? Im Backend unserer WebSite lesen wir seit einiger Zeit ...

Switche und Hubs
POE-Switche
gelöst Frage von MiStSwitche und Hubs13 Kommentare

Guten Morgen, ich überlege ob ich in unserem Netzwerk die aktuellen Switche (D-LINK DGS-1210-28) durch PoE-Switche ersetzen soll. Der ...