355
CasaRossa
manuwj

Per Batch (Text-)Datei ohne Text erzeugen

Mitglied: DGzRSBorkum
05.02.2010
13:42:20 Uhr
5396 Aufrufe
13 Antworten
Wenig hilfreich -1
Hallo,
hier nur ein Tipp:
Wenn man eine leere (Text-)Datei per Batch oder cmd erzeugen will, muss man einfach nur schreiben:
01.
echo. > Dateiname.txt

Hinweis: Wenn man
01.
echo > Dateiname.txt
schreibt,bekommt man keine leere Datei, in ihr steht dann nämlich
01.
ECHO ist eingeschaltet (ON).

Mitglied: didi1954
didi1954 schreibt am 05.02.2010 um 14:06:37 Uhr
Hallo DGzRSBorkum!

Wobei ein
01.
echo.>Test.Txt
nichts weiter als eine Leerzeile erzeugt, also mit CR und LF eine 2 Byte große Datei

In Deinem Beispiel:
01.
echo. > Test.Txt
wird mit CR und LF und Leerzeichen eine 3 Byte große Datei erstellt

Gruß Dieter
Mitglied: Biber
Biber schreibt am 05.02.2010 um 14:09:37 Uhr
Moin DGzRSBorkum,

nicht unrichtig, was du schreibst... aber die Kategorie "leere Textdatei" ist wegen der implizierten Doppeldeutigkeit/Widersprüchlichkeit doch noch mal zu klären.

Ja, du erzeugst mit deiner Methode in der Tat eine "leere Textdatei"...."leer", weil zwar kein Text, aber eine "Leerzeile" enthalten ist.
Und "Zeilen" sind natürlich ein typisches Merkmal von (unformatierten plain-)Textdateien im Windows-Kontext.

Doch dann hat diese "Leerdatei" eben doch 2 Byte bzw. eine Zeile.

Falls jemand aber eine "leere" Datei ohne Leerzeile haben möchte (Demo am CMD-Prompt, führendes ">" ist mein Prompt):
>echo.>leer1.txt 
>copy nul leer2.txt 
        1 Datei(en) kopiert. 
>rem>leer3.txt 
 
>dir leer*.txt 
 Datenträger in Laufwerk D: ist Daten 
 
05.02.10  13:56                 2 leer1.txt 
05.02.10  13:56                 0 leer2.txt
ad leer1.txt) Der ECHO-Befehl hängt immer und ungefragt ein CRLF/Zeilenumbruch/ Hex(13)+Hex(10) mit an
ad leer2.txt) ein "copy NUL neuedatei" belässt es bei 0 Byte, allerdings kommt auch die Erfolgsmeldung "1 Datei kopiert", die unterdrückt werden müsste
ad leer3.txt) oft versucht im Internet, aber Bullshit: die Erzeugung von "nichts" durch das Verwerten der Rückgabe eines REM-Befehls.

Grüße
Biber
Mitglied: DGzRSBorkum
DGzRSBorkum schreibt am 05.02.2010 um 14:30:26 Uhr
OK, ihr habt recht. face-smile Textdatei ohne Text hätte besser gepasst.
Mitglied: bastla
bastla schreibt am 05.02.2010 um 18:24:49 Uhr
... und wenn das alles viel zu einfach war face-wink:
set/p=<nul>leer4.txt
Grüße
bastla
Mitglied: Biber
Biber schreibt am 05.02.2010 um 18:38:33 Uhr
@bastla
Einen hab ich noch.
>echo FDP|find "Wirtschaftskompetenz">leer5.txt 
>dir leer5.* 
05.02.10  18:37                 0 leer5.txt

[Anmerkung: würde auch mit anderen Kombinationen funktionieren, aber so ist es einfacher zum Merken.]

Schönes Wochenende
Biber
Mitglied: LotPings
LotPings schreibt am 06.02.2010 um 01:20:25 Uhr
Zitat von Biber:
> >copy nul leer2.txt 
>         1 Datei(en) kopiert. 
> 

Hallo Biber,
01.
Type NUL >LeerX.txt
wäre einfacher

Gruß
LotPings
Mitglied: duffman521
duffman521 schreibt am 10.02.2010 um 09:48:52 Uhr
Hallo

also Mensch ohne große Ahnung von Batchprogrammierungen muss ich jetzt einfach mal fragen, warum eine Batch zum erstellen einer Textdatei nutzen???

Rechtsklick -> Neu -> Text Document reicht doch völlig aus oder hab ich hier was missverstanden???
Mitglied: Biber
Biber schreibt am 10.02.2010 um 13:44:41 Uhr
Moin duffman521,

Batches sind ja in der Regel dazu da, automatisiert, unbeaufsichtigt und ohne Benutzerinteraktion irgendeine Routineaufgabe abzuarbeiten.
Dabei kommt es hin und wieder vor, dass eine Textdatei, die im weiteren Programmlauf gefüllt wird, erst einmal "leer" angelegt werden muss.

Beispiel ist ein Batch, der das Vorhandensein von bestimmten Worten (z.b. "Success", "Error", ..) in einer ständig wachsenden Logdatei mit Find/Findstr prüfen und darauf reagieren soll.

Für diesen Batch (bzw. die Batchprogrammierung) wäre es natürlich am saubersten bzw. wartbarsten, wenn diese Kernfunktion "FINDE Suchwort in LOGDatei" nur zwei mögliche Ergebnisse liefern könnte, nämlich "Suchwort im Log gefunden" und "Suchwort im Log nicht gefunden".
Um den anfänglich möglichen dritten Zustand auszuschließen ("keine Ahnung, habe nicht mal das Log gefunden") wird die hier als Tipp beschriebene Mimik manchmal eingesetzt und eine leere Datei angelegt.

Nachteil der Rechtsklick->neue Textdatei-Mimik ist eben die Notwendigkeit der körperlichen Anwesenheit eines geneigten Anwenders, der da grad mal Lust zu hat, das zu tun.
Und das kann z.b. bei Batch-Sicherungsläufen, die jeden Freitag früh morgens um 03.30h automatisiert laufen nicht immer unterstellt werden.

Das ist der Hintergrund für diese vielleicht um die Ecke gedacht wirkenden Alternativen wie 'Suche nach "Vitaminen" in "Kantinenessen" und schreibe das Ergebnis in Datei Leerx.txt'.

Grüße
Biber
Mitglied: bastla
bastla schreibt am 10.02.2010 um 17:37:55 Uhr
... außerdem reicht dann uU anstelle von Rechtsklick -> Neu -> Text Document auch ein Doppelklick (wo wir doch eh alle so wenig Zeit haben) ... face-wink

Grüße
bastla
Mitglied: duffman521
duffman521 schreibt am 10.02.2010 um 17:49:13 Uhr
Danke für die Erklärung. Jetzt leuchtet es mir ein. Soweit hatte ich nämlich gar nicht gedacht.
Mitglied: DGzRSBorkum
DGzRSBorkum schreibt am 10.09.2010 um 12:28:01 Uhr
Ach ja, es gibt da ja auch noch
01.
copy con
Mitglied: LotPings
LotPings schreibt am 10.09.2010 um 12:36:51 Uhr
Nach sieben Monaten ein Nachzügler?

Hast du da jetzt solange dran überlegt? face-wink

Dann hat es sich aber nicht gelohnt, denn copy con erfordert eine Eingabe die durch STRG-Z oder F6 beendet werden muss.

Gruß
LotPings
Mitglied: DGzRSBorkum
DGzRSBorkum schreibt am 10.09.2010 um 19:52:33 Uhr
Jetzt wo du es sagst ... war noch zu früh ^^
mehr ...Ähnliche Beiträge