caprifischer
Goto Top

Guru Skill für TXT auslesen

Hallo Batch-Guru´s

ich hab da ein problem mit dem auslesen von ner text-tatei die ein output von ner datenbank ist und
wo ich den output nur so bekomme und ned anders (hät ich auch gerne).
ziel ist es die userid´s zu bestimmen und untereinander in ne txt-datei zu schreiben.


hier mal der output:
==============

TABLE OF USER-IDENTIFICATIONS: 
 
USERID      STATE  KTID   PORT   REPORT   CLASS  AD PROG 
------------+--------+------+------+-----------+---------+-------------------------- 
LASA7600    TRUE   9       12      1              ADMIN   2 + 3 + 4 + 5 + 6 + 7 + 
                                                                               8 + 9 + 10+ 11+ 12+ 13+ 
                                                                               14+ 15+ 16+ 17+ 18+ 19+ 
                                                                               20+ 21+ 22+ 23+ 24+ 25+ 
ADAO7621    TRUE   7       14     1              ADMIN    2 + 3 + 4 + 5 + 6 + 7 + 
TREO7671    TRUE   4       44     1              ADMIN    2 + 3 + 4 + 5 + 6 + 7 + 
MARA7643    TRUE   3       41     1              ADMIN    2 + 3 + 4 + 5 + 6 + 7 + 
ERPO7610    TRUE   5       29     1              ADMIN    2 + 3 + 4 + 5 + 6 + 7 + 
                                                                                8 + 9 + 10+ 11+ 12+ 13+ 
                                                                               14+ 15+ 16+ 17+ 18+ 19+ 
                                                                               20+ 21+ 22+ 23+ 24+ 25+ 
                                                                               26+ 27+ 28+ 29+ 30+ 31+ 
                                                                               32+ 33+ 34+ 35+ 40      
META7611    TRUE   2      19     1                ADMIN  2 + 3 + 4 + 5 + 6 + 7 + 
                                                                               8 + 9 + 10+ 11+ 12+ 13+ 
                                                                              14+ 15+ 16+ 17+ 18+ 19+ 
                                                                              20+ 21+ 22+ 23+ 24+ 25+ 
                                                                              26+ 27+ 28+ 29+ 30+ 31+ 
(hier nochmal als jpg da die Formatierung wichtig ist und sie oben verhauen wird)

8ff2ed25c764ce2c025f3df8bcbfb84e-table


und das sollte dabei rauskommen

LASA7600
ADAO7621
TREO7671
MARA7643
ERPO7610
META7611


ich hab schon mit ein paar sehr wilden for-strings rumexperimentiert aber dabei ist nix brauchbares rausgekommen.

hat jemand ne tip für mich wie ich so ein problem auf nen XP-SP2-rechner als batch zu schaffen ist.

bin für jede anregung dankbar.


gruß
caprifischer
[Edit Biber] Code-Formatierung ergänzt. Siehe unten [/Edit]

Content-ID: 56588

Url: https://administrator.de/forum/guru-skill-fuer-txt-auslesen-56588.html

Ausgedruckt am: 22.04.2025 um 20:04 Uhr

bastla
bastla 13.04.2007 um 15:39:34 Uhr
Goto Top
Hallo caprifischer und willkommen im Forum!

Da anscheinend gerade keine Gurus in der Gegend sind, versuche ich es mal face-wink:
@echo off & setlocal enabledelayedexpansion
for /f "skip=4 delims=" %%i in (test.txt) do set "Zeile=%%i" & if "!Zeile:~0,8!" neq "        " echo !Zeile:~0,8!  
Falls die Annahme, dass der Username eine fixe Länge von 8 Zeichen hat, nicht zutreffen sollte, sehen wir weiter ...

Grüße
bastla
caprifischer
caprifischer 13.04.2007 um 16:31:50 Uhr
Goto Top
Hi bastla,

danke für die schnelle und freundliche begrüßung.

ne sache ist hier nicht richtig - guru IST anwesend (zuminderst im verhältniss zu mir).

script tut !!

deine annahme mit 8 zeichen (oder weniger) ist richtig hatte es nur vergessen zu schreiben und deine umsetzung mit - neq " " - ist echt gut , wäre ich nie darauf gekommen, was mich auch brutal weit nach vorne bringt.


maga merci

caprifischer
Biber
Biber 13.04.2007 um 17:17:43 Uhr
Goto Top
Moin caprifischer,

willkommen auch von mir.

Echt blöd, dass heute keine Gurus in der Nähe sind.. na ja, Freitag, der 13te halt.

Dann versuche ich mal, bastla zu unterstützen.

Alternative zu einem so komplexen Batch wäre folgendes vom CMD-Prompt:
(=16:58:43  D:\temp=)
><b>for /f "skip=2" %i in ('findstr /R ^[A] userids.txt') do @echo %i</b>  
LASA7600
ADAO7621
TREO7671
MARA7643
ERPO7610
META7611
--oder, wenn es denn ein Batch sein muss--
:: snipp DispUserids.bat
@for /f "skip=2" %%i in ('findstr /R ^[A] userids.txt') do @echo %%i  
>DispUserIds.bat
LASA7600
ADAO7621
TREO7671
MARA7643
ERPO7610
META7611
...[Vorausgesetzt, diese Userliste heißt auch userIds.txt.]

Eine Anmerkung noch:
Die Formatierung mit Leerzeichen bleibt erhalten, wenn Du den Text mit den Tags < code > und < /code > formatierst.
Siehe in den FAQ unter "Formatierungen".

Gruss und schönes Wochenende
Biber