![]() |
Dateinamen aus Datei an der Kommandozeile mit '<'
Es gibt Programme/Tools bei denen kann man eine Datei mit Dateinamen auf der
Kommandozeile übergeben und das Tool verarbeitet jede Datei nacheinander.
Code:
Also das '<' Zeichen leitet den Inhalt der Datei einzeln dem Tool zu.
tool.exe < prog.lst
Wie kann ich das mit einer delphi-consol-Anwendung machen. ParamStr(1) ist bei meinen Test leer. |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
ParamStr(1) ist ja der übergebene Parameter. < prog.lst ist aber kein Parameter, sondern ein Pipe symbol.
< prog.lst heisst das er den inhalt der datei prog.lst in STDIN schreibt. Unter Linux müsstest du die Datei STDIN öffnen und auslesen, unter Delphi ist es INPUT Schau mal in der Hilfe unter INPUT und OUTPUT nach. |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Eigentlich kann man den inhalt von prog.lst mittels Readln und Read lesen.
Delphi-Quellcode:
NICHT GETESTET!
var s : string;
begin repeat readln(s); Writeln(s); until Length(s) = 0; end; |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Danke für die Tips, beide sind richtig und funktionieren so weit.
Ich habe jetzt nur noch das Problem festzustellen ob überhaupt 'Input' anliegt. Es soll ja eine Datei als Parameter oder eine Dateiliste aus der Umleitung möglich sein. Also:
Code:
Bei der einzelnen Datei will ich ja gar keine Abfrage-Schleife starten.
tool.exe < prog.lst
und tool.exe file1.txt |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Prüfe einfach mit eof, ob die "Datei" am Ende ist.
|
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Via EOF(Input) z.B.
|
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Habe ich ja vorher versucht:
Code:
Geht aber trotdem in die while-Schleife.
Reset(Input);
while not Eof(Input) do begin Readln(Input, s); Writeln(s); end; CloseFile(Input); Bin ich zu dumm? |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Und es wird nichts ausgegeben?
Vielleicht ein Leerzeichen? |
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Wenn ich mich richtig erinnere, gibt es eine Konstante StdIn. Wenn Input == StdIn, dann liegt kein Input über < an.
|
Re: Dateinamen aus Datei an der Kommandozeile mit '<'
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz