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

Mit Batchbefehl in einer TXT eine bestimmte Textstelle abfragen?

Frage Entwicklung Batch & Shell

Mitglied: TechnoX

TechnoX (Level 2) - Jetzt verbinden

08.08.2008, aktualisiert 11.08.2008, 4167 Aufrufe, 3 Kommentare

Erstmal Hallo Ich freue mich das es Foren wie dieses hier gibt & hab allsgleich auch ne etwas spezielle Frage die aber nicht wirklich schwer sein sollte..

Systeme: WINXP /VISTA /NT4 /WINSERVER 2000/2003

Ich baue grade (ganz am anfang) eine kleine Diagnose Routine. Welche erstmal diverse Commandozeilen Befehle wie zb. ipconfig etz. abfragt.
Alle Ergebnisse werden dann in eine Beispiel.TXT datei geschrieben. (diese Abfrage soll zukünftig als Job an alle PCS im Netzwerk ausgetragen & lokal beim Start mitgestartet werden..)

Da ich aber eine gewisse Intelligenz einbauen möchte will ich anhand der dort in der TXT eingetragenen Daten wie zb. IP, Gateway etz.
eine kurze Prüfung durchführen. So das ich nicht jedesmal endlos fummeln muss um ne schlichte Basisdiagnose zu erhalten & bei Notebooks ausserhalb des Remotezugriffs dem Nutzer schlicht sagen kann: Drücke auf diese Datei. Gibt diese irgendwelche Fehler zurück? Wie lautet der Fehlercode ()?
Da die Zeilen je nach Rückgabewert ja etwas variieren sollte es doch möglich sein zu "springen" wenn ja wie?
Dachte an GOTO nur wie gebe ich das Ziel an? Und wie sag ich im das er nur das was Rechts danaben steht vergleichen soll?

Hatte vor den "Wert1" mit einem anderen Wert aus einer "sauberen" TXT abzugleichen.
bsp:
If Wert1 (in Textdatei 1 in Zeile/ oder besser bei Marker oder wie auch immer) nicht gleich dem Vergleichswert (in Textdatei 2)
set IPCON = 1 else 0
Schreibe: IP STIMMT NICHT in Logdatei.

Da ich ned ganz so der Scriptingfritze bin happerts halt leider etwas an den Vocabeln.. ich weis wies funktionieren soll - aber ich
kanns nicht schreiben Wills aber zumindest zum grossteil selbst hinbekommen..

Zusammengefasst:

Frage: Wie lese ich bestimmte Textteile aus Textfiles explizit aus & kann diese vegleichen? Am besten mit einem Rückgabe Wert.
2 DATENFILES zu vergleichen is ja kein Hexenwerk nur innerhalb dieser bestimmte Werte zu vergleichen übersteigt mein können..

Frage: Wie schreibe ich WERTX an eine bestimmte stelle innerhalb einer TXT?

Wenns mal klappt will ich das ganze etwas erweitern um zb. Reg. Werte auszulesen (mit zb. vbs) so das ich zb. Eine grobe Lizensverwaltung aufbauen kann ala:
Pc mit Ip / Nutzer / ART (notebook/workstation) hat zb. office version XX mit Dieser Serial: 1h1l 1kj1 1245 lkh2 (bsp) Und diesem Windows KEY.
Zudem eine kleine Abfrage nach den 10 bekanntesten Würmern/Vieren dateien.
Ziel ist eine bessere Bestands übersicht Verwalteter Recurcen (is n generelles Ziel & ne gute Übung um breitgefächert praxisnah Scripten zu lernen..)
Wo bekomme ich gute Beispiele & Erklärungen zu den den einzelnen Befehlen her mit denen ich sauber lernen kann?

Hilfe...
Mitglied: miniversum
08.08.2008 um 18:13 Uhr
Hilfe zu befehlen bekomst du in der cmd indem du ein /? angibst. Also z.B.
set /?
for /?
findstr /?
Beispielcodes findest du z.B. hier in diesem Bereich ;)

Nun zu dienem Problem. Ich Formuliere einfach mal die Aufgabenstellung für dich so um das man das so nach einander umsetzen kann.
1. Finde in einer Textdatei die Zeile inder ein bestimmtes Schlüsselwort steht.
2. Speichere diese Zeile, oder ein Teil davon, in Variable1.
3. Finde in einer anderen Textdatei die Zeile inder ein bestimmtes Schlüsselwort steht.
4. Speichere diese Zeile, oder ein Teil davon, in ein Variable2.
5. Vergleiche Variable1 mit Variable2.

Beschäftige dich mal mit dem Findstr befehl. Hilfe dazu mit findstr /?
Beschäftige dich außerdem mit dem For-Befehl. Hilfe dazu mit For /?. Damit kannst du die gefundene Zeile in einer Variabeln speichern.
Sollte es etwas Komplizierter werden, das z.B. mehrere Zeilen die Suchkriterien erfüllen, das z.B. bei PCs mit mehreren Netzwerkkarten vorkommen kann, Müßtest du unter Umständen auch intirekt beim findstr mit dem Parameter /N arbeiten um dir die Zeilennummer einer eindeutigen Zeile zu ermitteln und ab dieser Zeile kannst Du dann eine Bestimmte Anzahl dazuaddieren. Diese zeile kanst du dann mit dem Forbefehl wieder auslesen.
Was du dir auc anschauen solltest ist der set Befehl. Hilfe unter set /? um Variabeln zu speichern und mit Zahlen zu rechnen.
Zum Verlgeich benötigst du dann noch den if Befehl. Hilfe unter if /?.
Ich hoffe das hilft dir erstmal weiter. Schau dir einfach einige Batchdateien an die hier schon gepostet wurden um nachzuvollziehen was dort geschieht.
Bitte warten ..
Mitglied: TechnoX
11.08.2008 um 09:31 Uhr
Danke das half schon weiter - learning by Doing ist und bleibt einfach das womit man am meisten lernt. Ich hoff ich krieg die Basics schnell drauf. Schleifen & co waren mir damals bei C schon n Graus.. If /else do & while ging ja noch aber mit for Schleifen steh ich voll auf Kriegsfuss.. auf jedenfall hab ich nun mal was wo ich mich weiter einlesen kann danke.
Bitte warten ..
Mitglied: miniversum
11.08.2008 um 10:39 Uhr
Batches mit For findest du hier viele, auch um Dateien einzulesen und sowas.
Und nchfragen geht ja auch noch.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...