86263
05.02.2010, aktualisiert um 14:31:23 Uhr
77352
16
1
Per Batch (Text-)Datei ohne Text erzeugen
Hallo,
hier nur ein Tipp:
Wenn man eine leere (Text-)Datei per Batch oder cmd erzeugen will, muss man einfach nur schreiben:
Hinweis: Wenn man schreibt,bekommt man keine leere Datei, in ihr steht dann nämlich
hier nur ein Tipp:
Wenn man eine leere (Text-)Datei per Batch oder cmd erzeugen will, muss man einfach nur schreiben:
echo. > Dateiname.txt
Hinweis: Wenn man
echo > Dateiname.txt
ECHO ist eingeschaltet (ON).
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135275
Url: https://administrator.de/knowledge/per-batch-text-datei-ohne-text-erzeugen-135275.html
Ausgedruckt am: 23.12.2024 um 12:12 Uhr
16 Kommentare
Neuester Kommentar
Hallo DGzRSBorkum!
Wobei ein
nichts weiter als eine Leerzeile erzeugt, also mit CR und LF eine 2 Byte große Datei
In Deinem Beispiel:
wird mit CR und LF und Leerzeichen eine 3 Byte große Datei erstellt
Gruß Dieter
Wobei ein
echo.>Test.Txt
In Deinem Beispiel:
echo. > Test.Txt
Gruß Dieter
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):
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
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 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
@bastla
Einen hab ich noch.
[Anmerkung: würde auch mit anderen Kombinationen funktionieren, aber so ist es einfacher zum Merken.]
Schönes Wochenende
Biber
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
Hallo Biber,
Type NUL >LeerX.txt
Gruß
LotPings
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
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
Nach sieben Monaten ein Nachzügler?
Hast du da jetzt solange dran überlegt?
Dann hat es sich aber nicht gelohnt, denn copy con erfordert eine Eingabe die durch STRG-Z oder F6 beendet werden muss.
Gruß
LotPings
Hast du da jetzt solange dran überlegt?
Dann hat es sich aber nicht gelohnt, denn copy con erfordert eine Eingabe die durch STRG-Z oder F6 beendet werden muss.
Gruß
LotPings
Hey bisschen spät aber für alle die es noch interessiert:
echo 2> leeredatei.txt
Ausgabe "ECHO is on." erscheint auf dem Bildschirm.
In die leeredatei.txt werden die Fehlermeldungen geschrieben, da keine Fehler auftreten bleibt die Datei leer.
Greetz
echo 2> leeredatei.txt
Ausgabe "ECHO is on." erscheint auf dem Bildschirm.
In die leeredatei.txt werden die Fehlermeldungen geschrieben, da keine Fehler auftreten bleibt die Datei leer.
Greetz
Der Schönheit wegen und weil auch ich es immer noch brauche (WIN10):
Mit:
cd.>leer.txt
wird ein leerer Dateieintrag erstellt ohne weitere Ausgaben.
Und wer aus einem vorhandenen Ordner alle Dateinamen als leeren Dateieintrag benötigt kann dies mit:
robocopy . test /create
erreichen. = erzeugt einen Unterordner test mit 0-Byte-Dateien aus dem aktuellen Ordner.
Mit:
cd.>leer.txt
wird ein leerer Dateieintrag erstellt ohne weitere Ausgaben.
Und wer aus einem vorhandenen Ordner alle Dateinamen als leeren Dateieintrag benötigt kann dies mit:
robocopy . test /create
erreichen. = erzeugt einen Unterordner test mit 0-Byte-Dateien aus dem aktuellen Ordner.