pinkfluffyunicorn
Goto Top

Batch Textdatei Spaltenweise auslesen

hi, ist es irgendwie möglich anstatt eine Textdatei via Batch Spaltenweise auszulesen und nicht zeilenweise wie das normal ganz einfach geht?
es muss doch irgendwie möglich sein das ein Script mir die erste Spalte ausließt und mir dann als variable abspeichert oder?

ich stell mir das ca. so vor:

A1B1C1D1E1
A2B2C2D2E2
A3B3C3D3E3
A4B4C4D4E4
A5B5C5D5E5


auslesen Spalte 1
V1= A1A2A3A4A5

löschen Spalte 1

auslesen neuer 1. Zeile
V2=B1B2B3B4B5
und so weiter bis auch die 5. Spalte eingelesen ist.
kann mir da jemand Helfen? am besten zu euren Codestücken dazuschreiben was sie tun damit ich auch immer schön am ball bleib.
Wäre Natürlich auch toll wenn jemand so nen fertigen Code reinstellen Könne ^^.

Content-ID: 305807

Url: https://administrator.de/contentid/305807

Ausgedruckt am: 26.11.2024 um 16:11 Uhr

rubberman
rubberman 31.05.2016 um 19:41:17 Uhr
Goto Top
Hallo PinkFLuffyUnicorn,

magst du bitte noch mal genau erklären, wie "Spalte" mit "Textdatei" zusammengeht? Handelt es sich um eine sonderzeichen-/semikolongetrennte Textdatei? Oder bedeutet "Spalte" immer eine bestimmte Anzahl an Zeichen in einer Zeile?

Grüße
rubberman
PinkFLuffyUnicorn
PinkFLuffyUnicorn 31.05.2016 um 19:49:14 Uhr
Goto Top
in die textdatei werden nur Einsen und Nullen eingespeichert in einem 5x5Zeichen Großen Block. Und da soll er wie oben gezeigt Dann die spalten auslesen, was ich mit spalten meine ist auch halbwegs gut definiert
PinkFLuffyUnicorn
PinkFLuffyUnicorn 31.05.2016 um 19:50:56 Uhr
Goto Top
und weisst du wie ich das gelöst wieder wegbekomm? bin versehentlich drauf gekommen -.-
tomolpi
tomolpi 31.05.2016 um 20:06:57 Uhr
Goto Top
Zitat von @PinkFLuffyUnicorn:

und weisst du wie ich das gelöst wieder wegbekomm? bin versehentlich drauf gekommen -.-

Klar, im Anfangspost von dir mit der Frage auf Bearbeiten klicken und den Haken bei "Frage ist gelöst" rausnehmen.
PinkFLuffyUnicorn
PinkFLuffyUnicorn 31.05.2016 um 20:32:10 Uhr
Goto Top
danke:D
rubberman
rubberman 31.05.2016 aktualisiert um 21:56:27 Uhr
Goto Top
was ich mit spalten meine ist auch halbwegs gut definiert
Nein war es nicht, sonst hätte ich nicht gefragt. A1 sind 2 Zeichen, eine 1 oder ein 0 ist jeweils aber nur ein Zeichen. Und da A1 & Co. etwas wie Excel aussieht, hätte es auch ein Export in eine CSV Datei sein können. Da macht der Begriff "Spalte" auch wieder halbwegs Sinn.
@echo off &setlocal
REM Dateiname
set "file=test.txt"  
REM Anzahl Zeilen und Spalten
set /a "lines=5, columns=5"  

setlocal EnableDelayedExpansion
REM Übergib den Filestream zum stdin im Klammerblock
<"!file!" (  
  REM Lies zeilenweise und weise die gelesenen Zeilen den Variablen l1 bis l5 zu
  for /l %%i in (1 1 !lines!) do set /p "l%%i="  
)


REM Weise die Spaltennummern 1-5 der FOR Variablen %%i nacheinander zu
for /l %%i in (1 1 !columns!) do (
  REM Berechne jeweils %%i - 1 und weise den Wert der FOR Variablen %%j zu
  for /f %%j in ('set /a %%i - 1') do (  
    REM Weise die Zeilennummern 1-5 der FOR Variablen %%k nacheinander zu
    for /l %%k in (1 1 !lines!) do (
      REM Erweitere die Variable mit dem Spaltenwert jeweis um den Wert aus der entsprechenden Zeile
      set "V%%i=!V%%i!!l%%k:~%%j,1!"  
    ) 
  )
)

REM Testausgabe
for /l %%i in (1 1 !columns!) do echo V%%i=!V%%i!
pause
PinkFLuffyUnicorn
PinkFLuffyUnicorn 01.06.2016 um 12:50:20 Uhr
Goto Top
das problem ist nur dass ich kein excel besitze und mir das auch nicht hole, in meinem kopf hat sich das logisch angehört aber muss ja nicht zwangsläufig bedeuten das andere das verstehen. aber danke erstmal für die antwirt, ich les mich jz mal rein :D