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 Mit Findstr bestimmte Werte einer Datei auslesen (Batch)

Mitglied: TollerRoller

TollerRoller (Level 1) - Jetzt verbinden

21.01.2008, aktualisiert 22.01.2008, 17483 Aufrufe, 3 Kommentare

Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine Textdatei die wie folgt aussieht:

Storage Group Name: XXXXXXX
Storage Group UID: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
HBA/SP Pairs:

HBA UID SP Name SPPort
------- ------- ------
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 SP B 2
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 SP A 2
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 SP A 0
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 SP B 0

HLU/ALU Pairs:

HLU Number ALU Number
---------- ----------
18 134
17 133
16 132
15 131

Aus dieser Datei interessieren mich eigentlich nur die Zahlenpaare die jeweils unter HLU Number und ALU Number stehen. Beide müssen jeweils in eine Variable eingelesen werden um sie dann in einem weiteren Befehl zu verwenden. Und das für jedes Paar in der Liste. Leider stehen die Zahlen nicht immer in der gleichen Zeile. Daher dachte ich mir per "findstr /N /C:"HLU Number" dateiname.txt" zunächst die Zeile zu ermitteln. Den ermittelten Wert +2 und man wüßte ab welcher Zeile der interessante Teil beginnt. Soweit so gut. Dann dachte ich mir per findstr /r "[0-9]" die Zahlen zu ermitteln. Das war mein Plan.
Leider ist Batchprogrammierung keine Stärke von mir und so hoffe ich auf eure hilfe. Bisher hab ich alles was ich so brauchte durch lesen hier rausgefunden (Danke dafür!!). Aber hier komme ich nicht weiter.
Mitglied: bastla
21.01.2008 um 20:09 Uhr
Hallo TollerRoller und willkommen im Forum!

Deine Strategie ist gut, und daher sollte es etwa so gehen:
01.
@echo off & setlocal 
02.
set "Quelle=D:\dateiname.txt" 
03.
for /f "delims=:" %%i in ('findstr /n /c:"HLU Number" "%Quelle%"') do set Zeile=%%i 
04.
if not defined Zeile echo Nicht gefunden! & goto :eof 
05.
set /a Zeile+=1 
06.
for /f "tokens=1,2" %%i in ('more +%Zeile% "%Quelle%"') do call :ProcessLine %%i %%j 
07.
goto :eof 
08.
 
09.
:ProcessLine 
10.
echo HLU:%1 ALU:%2 
11.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.01.2008 um 20:30 Uhr
Moin TollerRoller,

tja, jetzt war bastla schneller, aber da ich meine Variante auch fertig habe..

01.
:: ----- snipp  HLUALU.cmd 
02.
@echo off & Setlocal 
03.
Set "SGDatei=%temp%\StoGroups.txt" 
04.
 
05.
for /f "delims=:" %%i in ('findstr /n /C:"HLU Number" %sgdatei%') do set /a "notNeeded=1+%%i" 
06.
 
07.
For /f "tokens=1,2 skip=%notNeeded%" %%i in (%SGDatei%) Do call :setSGPair %%i %%j 
08.
::Demobefehl folgt 
09.
Set SG_ 
10.
goto :eof 
11.
 
12.
:SetSgPair 
13.
Set /a "#+=1" 
14.
Set SG_HLU_%#%=%1 
15.
Set SG_ALU_%#%=%2
Output:
01.
>e:\work\HLUAlu 
02.
SG_ALU_1=134 
03.
SG_ALU_2=133 
04.
SG_ALU_3=132 
05.
SG_ALU_4=131 
06.
SG_HLU_1=18 
07.
SG_HLU_2=17 
08.
SG_HLU_3=16 
09.
SG_HLU_4=15
Grüße
Biber
Bitte warten ..
Mitglied: TollerRoller
22.01.2008 um 10:31 Uhr
Hallo,
vielen Dank für eure Antworten. Es funktioniert!!! Genau so habe ich mir das vorgestellt. Ihr glaubt gar nicht wieviel Arbeit mir das spart.
Eine schöne Arbeitswoche euch allen

Grüße
TollerRoller
Bitte warten ..
Ähnliche Inhalte
Windows 8

JSON Datei Wert auslesen und bei bestimmten Vielfachen des Wertes ein anderes Programm öffnen

gelöst Frage von drkoaegWindows 82 Kommentare

Hallo :) Ich habe eine JSON Datei -die ich per Editor auslesen kann- mit einem Zahlenwert, der mit der ...

Batch & Shell

Bestimmte Zeile einer Textdatei mit Batch auslesen

gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Batch & Shell

In Batch FINDSTR in Variable und auch noch kuerzen

gelöst Frage von deathwormBatch & Shell2 Kommentare

Hallo! Ich habe folgendes Problem. Beim verschluesseln von Festplatten wird ein Key generiert und dieser in eine TXT Datei ...

Batch & Shell

Batch: for + dir + findstr

gelöst Frage von .SesslBatch & Shell2 Kommentare

Hallo zusammen, ich hab mal wieder ein 'ernstes' Problem, bei dem ich nicht wirklich weiter weiß und das Internet ...

Neue Wissensbeiträge
CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 5 StundenCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 2 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlägt fehl - Lösung 2008-2016

Tipp von BiGnoob vor 2 TagenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden Fehler: Lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 2 TagenHumor (lol)4 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP34 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung12 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Windows Server
2003er RDS Server lässt alten ThinClient nach Updates nicht mehr anmelden
Frage von KnorkatorWindows Server9 Kommentare

Hallo zusammen, wir hatten die Aufgabe, ein System (keine Domänenanbindung) zu virtualisieren welches mehrere Jahre keine Updates gesehen hat. ...

Peripheriegeräte
APC Smart-UPS - Diverse Fragen bzgl. Batterie und Konfiguration
Frage von vBurakPeripheriegeräte8 Kommentare

Hallo, nach wiederholendem Stromausfall beim Kunden habe ich Zweifel, dass die Konfiguration der USV richtig ist. Um es kurz ...