superbios
Goto Top

Bei batch echo von txt abrufen

Moin face-smile

Ich habe probleme mit:

Ich mache ein paar batch scripts, und bin jetzt angelangt bei ECHO von txt datei abrufen.
Gut, etwas schlecht formuliert, da ich ka hab, wie ichs nennen soll:
also z.b.

@echo OFF

ECHO C:\abc.txt

PAUSE
EXIT


Also soll das "ECHO" also der text für das ECHO von der TXT abgerufen wird.
Da für die "scripts" laungedatein verfügbar sein sollen, sollte es so sein:

in der txt datei stehen alle texte drinnen, und die ECHO befehle rufen die von einer ZEILE in der TXT ab....
Ich hoffe, ich habs verständlich formuliert....


LG

Content-Key: 146187

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

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: rubberman
rubberman 04.07.2010 um 19:26:37 Uhr
Goto Top
Hallo superbios und willkommen im Forum.

Wenn ich dich richtig verstanden habe, möchtest du eine vorher definierte Zeile aus einer Textdatei ausgeben lassen.

C:\abc.txt
Erste Zeile.
Zweite Zeile.
Dritte Zeile.


Wenn du jetzt bspw. die 2. Zeile der Datei ausgeben möchtest, könnte der Batchcode so aussehen:
@echo off &setlocal

set "zeile=2"  

for /f "delims=: tokens=1*" %%a in ('findstr /n . "C:\abc.txt"') do (  
  if "%%a"=="%zeile%" echo %%b  
)

pause

Grüße
rubberman
Mitglied: superbios
superbios 04.07.2010 um 19:40:39 Uhr
Goto Top
Hallo,

Ja, genau das hab ich gemeint.
Wird zwar bei ca. 200 zeilen langen txt datein etwas fad, das alles einzutragen, aber offenbar die einzige lösung.

Danke face-smile
Mitglied: rubberman
rubberman 04.07.2010 um 19:58:06 Uhr
Goto Top
Hallo superbios,

gern geschehen.
Sollten ganze Blöcke aus der Textdatei ausgegeben werden, kannst du auch 2 Bedingungen festlegen. (diesmal mit numerischem Vergleich und Ausgabe von Leerzeilen falls erforderlich)

@echo off &setlocal

set /a vonZeile=2
set /a bisZeile=3

for /f "delims=: tokens=1*" %%a in ('findstr /n "^" "C:\abc.txt"') do (  
  if %%a geq %vonZeile% (
    if %%a leq %bisZeile% echo.%%b
  )
)

pause

Grüße
rubberman
Mitglied: bastla
bastla 04.07.2010 um 20:29:03 Uhr
Goto Top
Hallo superbios und willkommen im Forum!

Mit "findstr" kannst Du Zeilen natürlich nicht nur nach der Zeilennummer, sondern (vor allem) auch nach anderen Merkmalen herausfiltern - gibt es daher ev ein Kriterium dafür, welche Zeile benötigt wird?

Grüße
bastla

P.S.: Vermutlich kommt besser rüber, was Du genau erreichen willst, wenn Du ein konkretes Beispiel anführst ...