Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 4198 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Textstellen vertauschen (7)

Frage von tefracky zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch sucht bestimmten "text" in einer .txt datei und soll dann die Zeile anzeigen (6)

Frage von MedicalAd zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Windows 10
Windows 10 Ordnerfreigabe (14)

Frage von Xaero1982 zum Thema Windows 10 ...