[BAT] Text auslesen aus *.txt

Diskutiere [BAT] Text auslesen aus *.txt im Developer Network Forum im Bereich Hardware & Software Forum; Hi ich will eine Batch schreiben mit der ich den gesamten Text aus einer *.txt Datei herauslesen kann. Ich weiß das der Befehl "FOR" heißt, und...
  • [BAT] Text auslesen aus *.txt Beitrag #1
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
Hi

ich will eine Batch schreiben mit der ich den gesamten Text aus einer *.txt Datei herauslesen kann. Ich weiß das der Befehl "FOR" heißt, und das er so ähnlich aus sieht

FOR /f %%f IN (test.txt) DO echo %%f


Kann mir jemand das mal aufbröseln und erklären?


LG
The
S1024
 
  • [BAT] Text auslesen aus *.txt Beitrag #2
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Servus,

Dein Syntax ist schon richtig.
Code:
echo off
cls
FOR /f %%f IN (test.txt) DO echo %%f 
echo.
pause
Wenn du dieses Programm startest erhältst du auch die gewünschte Wirkung. Aber wieso nutzt du nicht einfach den Befehl "type"?
C:\Documents and Settings\Max>type /?
Displays the contents of a text file or files.

TYPE [drive:][path]filename

C:\Documents and Settings\Max>

Gruß, Max.
 
  • [BAT] Text auslesen aus *.txt Beitrag #3
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
also moment....

wenn ich

FOR /f %%f IN (test.txt) DO echo %%f

nehme wird der kommplette text aus der *.txt ausgegeben?
oder geht das nur bei type?

PS:
OK mit FOR gehts. Wo liegt den der Vorteil in TYPE ?
 
Zuletzt bearbeitet:
  • [BAT] Text auslesen aus *.txt Beitrag #4
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
PS:
OK mit FOR gehts. Wo liegt den der Vorteil in TYPE ?

es ist allein von der Syntax her deutlich einfacher, du machst weniger flüchtigkeitsfehler. Ich weiß allerdings nicht, ob das noch unterschiede bei sehr großen Dateien macht
 
  • [BAT] Text auslesen aus *.txt Beitrag #5
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Deine Version kannst du nur aus einer Stapelverarbeitungsdatei heraus aufrufen, direkt in der Eingabeaufforderung führt das zu einem Fehler.
C:\Documents and Settings\Max\My Documents>FOR /f %%f IN (test.txt) DO echo %%f

%%f was unexpected at this time.
Welche Version schneller geht kann man so nicht sagen. Der Flaschenhals wird hierbei die Console (bzw. die Darstellung in der Console) sein.
Somit sollten beide Möglichkeiten fast gleich schnell sein, trotzdem gehe ich aber davon aus das "type" schneller arbeitet.
Aber ich lasse mich aber gerne eines besseren Belehren. Könnte ja mal einer mit Zeitüberfluss schnell testen...;)

Gruß, Max.
 
  • [BAT] Text auslesen aus *.txt Beitrag #6
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
Die Dateien die ich mit dem Befehl bearbeiten möchte sind nicht über 2MB dürfte also klappen...
 
  • [BAT] Text auslesen aus *.txt Beitrag #7
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
Kann ich denn mit beiden Befehlen als Speicherortangaben/Namensangaben Variabeln setzen?



Und dann hab ich noch Problem. Mit FOR wird nur das 1. Wort aus einer Zeile ausgegeben. Ich hab aber Sätze die kommplett ausgegeben werden müssen.
 
Zuletzt bearbeitet:
  • [BAT] Text auslesen aus *.txt Beitrag #8
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Kann ich denn mit beiden Befehlen als Speicherortangaben/Namensangaben Variabeln setzen?
Klar. Der Console ist es egal ob du
Code:
type "C:\boot.ini"
oder
Code:
type "%SystemDrive%\boot.ini"
schreibst. Sprich die Variablen (hier: SystemDrive) werden durch ihren Inhalt (hier: "C:") ersetzt, dann wird
das Programm (in diesem Fall: "type.exe "C:""\boot.ini"") mit diesen Parametern aufgerufen.

Und dann hab ich noch Problem. Mit FOR wird nur das 1. Wort aus einer Zeile ausgegeben. Ich hab aber Sätze die kommplett ausgegeben werden müssen.
Ja, das ist mir bekannt. Du liest immer nur bis zum Leerzeichen aus.
Aber nutz' doch einfach "type", dann kann dir das egal sein. ;)

Gruß, Max.
 
  • [BAT] Text auslesen aus *.txt Beitrag #9
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
ja type is deutlich besser.

nur besteht jetzt das Problem das der Anwender das Verzeichniss eingeben muss. Gibt es i-eine möglichkeit das type wie FOR die angegebende Deti im Verzeichniss sucht indem es selber ist?
 
  • [BAT] Text auslesen aus *.txt Beitrag #10
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
ja type is deutlich besser.

nur besteht jetzt das Problem das der Anwender das Verzeichniss eingeben muss. Gibt es i-eine möglichkeit das type wie FOR die angegebende Deti im Verzeichniss sucht indem es selber ist?


sry doppel post pls delate.
 
  • [BAT] Text auslesen aus *.txt Beitrag #11
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
ja type is deutlich besser.

nur besteht jetzt das Problem das der Anwender das Verzeichniss eingeben muss. Gibt es i-eine möglichkeit das type wie FOR die angegebende Deti im Verzeichniss sucht indem es selber ist?
Wie meinst du das jetzt? Bei "type" kannst du das Verzeichnis (und die Angabe einer Festplatte) weglassen,
die Dateiangabe aber selbstverständlich nicht.
Dann wird zuerst
  1. im aktuellen Verzeichnis der Batchdatei
  2. in den Path-Ordnern(1)
nach der angegebenen Datei gesucht. Deinem Post entnehme ich aber, dass du genau dies beabsichtigst?!

Edit:
1) Alle Path-Ordner anzeigen lassen: Start --> cmd --> "set path" oder nur "path"
In Erster Linie:
PATH=C:\WINDOWS\system32;C:\WINDOWS
 
Zuletzt bearbeitet:
  • [BAT] Text auslesen aus *.txt Beitrag #12
S1024

S1024

Bekanntes Mitglied
Dabei seit
02.03.2009
Beiträge
149
Reaktionspunkte
0
Ja genau ich will das ich nicht drive und path angeben muss.

Damit ist mein Problem gelöst.

Danke.
 
Thema:

[BAT] Text auslesen aus *.txt

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben