Wie erstelle ich eine leere Datei in der DOS / Windows-Befehlszeile?
Ich habe es versucht:
copy nul > file.txt
Es wird jedoch immer angezeigt, dass eine Datei kopiert wurde.
Gibt es eine andere Methode im Standard-Cmd?
Es sollte eine Methode sein, für die weder der Touch- Befehl von Cygwin noch andere nicht standardmäßige Befehle erforderlich sind . Der Befehl muss über ein Skript ausgeführt werden, damit keine Tastenanschläge verwendet werden können.
windows
file
cmd
command-line
Grendler
quelle
quelle
Antworten:
Ohne Weiterleitung weisen Luc Vu oder Erik Konstantopoulos auf Folgendes hin:
" Wie erstelle ich eine leere Textdatei aus einer Batchdatei? " (2008) verweist außerdem auf:
Nomad erwähnt ein Original :
Im gleichen Sinne schlägt Samuel in den Kommentaren vor :
Es gibt einen Fehler:
Aber dieser Fehler ist auf stderr. Und
>
leitet nur stdout weiter, wo nichts produziert wurde.Daher die Erstellung einer leeren Datei. Die Fehlermeldung kann hier ignoriert werden.
(Ursprüngliche Antwort, November 2009)
(
echo ""
würde tatsächlich "" in die Datei einfügen! Undecho
ohne das '.' würde "Command ECHO activated
" in die Datei einfügen ...)Hinweis: Die resultierende Datei ist nicht leer sondern enthält eine Zeilenumbruchsequenz: 2 Byte.
Diese Diskussion zeigt eine echte Batch-Lösung für eine echte leere Datei:
Da hier die "Zeichenfolge rechts vom Gleichheitszeichen" leer ist ... ist das Ergebnis eine leere Datei.
Der Unterschied zu
cd. > filename
(der in Patrick Cuffs Antwort erwähnt wird und auch eine Datei mit einer Länge von 0 Byte erzeugt) besteht darin, dass dieses "Bit der Umleitung" (der<nul...
Trick) verwendet werden kann, um Zeilen ohne CR zu wiederholen :quelle
echo.>filename
es tatsächlich, da es sowohl das Leerzeichen als auch das Zeilenumbruchzeichen enthält.rem
Befehls wird vermieden, dass eine Datei mit einer leeren Zeile erstellt wird.rem>filename
erzeugt das gleiche Ergebnis (2 Bytes)>
leiten Sie stdout nur an umout.txt
. Daher die Erstellung einer leeren Datei. Sie können die Fehlermeldung in diesem Zusammenhang ignorieren.Versuche dies:
Dadurch wird definitiv eine leere Datei erstellt.
quelle
Hier ist ein anderer Weg:
quelle
cd. > filename
ist nicht Arbeit für mich stattcd > filename
Werke!cd . > filename.extension
Sie benötigen ein Leerzeichen zwischencd
und.
Wenn Sie wirklich eine völlig leere Datei ohne Ausgabe an stdout wollen, können Sie ein wenig schummeln:
Leiten Sie stdout einfach auf nul um, und die Ausgabe von copy verschwindet.
quelle
type nul>file
wäre ein anderer Weg.Datei öffnen :
Neue Datei :
Inhalt bearbeiten:
Kopieren
Umbenennen
Datei löschen :
quelle
Wenn ich Kommentare zu meinem Beitrag lese, muss ich zugeben, dass ich die Frage nicht richtig gelesen habe.
In der Windows-Befehlszeile besteht eine Möglichkeit darin, fsutil zu verwenden :
Ein Beispiel:
Unten ist für * nix Befehlszeile.
Dieser Befehl ändert das Änderungsdatum einer Datei oder erstellt es, wenn die Datei nicht gefunden wird.
quelle
> filename
die auch zum Abschneiden einer vorhandenen Datei verwendet werden kann.fsutil
benötigt Administratorrechte. Das ist ein bisschen viel zu verlangen, um einfach eine leere Datei zu erstellen ...Ich glaube, dass dies unter Windows / DOS funktioniert, aber meine letzte praktische Erfahrung mit beiden ist schon eine ganze Weile her. Ich weiß sicher, dass es auf praktisch jedem POSIX- kompatiblen Betriebssystem funktioniert .
quelle
Das ist der sauberste Weg, den ich kenne.
quelle
funktionierte beim Erstellen einer Datei in C: / Programme, bei denen Sie keinen direkten Zugriff auf Dateien erstellen können.
quelle
Sie können Ihre eigene Note schreiben.
quelle
copy con SomeFile.txt Enter
Ctrl-Z Enter
quelle
Noch eine andere Methode, die eine Null-Byte-Datei erstellt:
quelle
So können Sie mit eine leere Datei erstellen
Navigieren Sie zum Verzeichnis und geben Sie den obigen Befehl in das PowerShell-Fenster ein.
Beachten Sie, dass dies an der Windows-Eingabeaufforderung nicht funktioniert.
quelle
Versuchen Sie Folgendes:
abc > myFile.txt
Zuerst wird eine Datei mit dem NamenmyFile.txt
im aktuellen Arbeitsverzeichnis (in der Eingabeaufforderung) erstellt. Dann wird der Befehl ausgeführt,abc
der kein gültiger Befehl ist. Auf diese Weise haben Sie eine neue leere Datei mit dem Namen erhaltenmyFile.txt
.quelle
abc
es sich im Pfad befindet und eine praktische Funktion zum Formatieren aller Laufwerke mit Ausnahme des Installationsverzeichnisses darstellt.type nul>filename
erstellt eine neue leere Datei.Entschuldigung, ich bin zu spät.
UPDATE : Funktioniert auch
copy nul filename
ohne Umleitung (offensichtlichere Lösung).quelle
Verwenden Sie
copy > your_file_name.extension
in der Eingabeaufforderung wiequelle
Sie könnten auch verwenden:
Die Debug-Ausgabe für
echo.
ist fast definitiv leer.quelle
Ich habe viele Themen gelesen, aber es ist nicht der kürzeste Weg.
Bitte benutzen Sie den Befehl:
>copy /b NUL empty_file.txt
quelle
Sie können den alten Befehl verwenden
Geben Sie nichts ein, drücken Sie einfach F6, um es zu speichern. Es wird jedoch "Datei kopiert" gedruckt. Wenn Sie die Datei öffnen, ist sie leer
quelle
Zum Erstellen eines beliebigen Dateityps können Sie den folgenden Code verwenden
Geben Sie nul> (Dateiname) ein. (Dateityp)
Z.B. Wenn Sie dann eine Textdatei erstellen möchten
Wenn Sie eine Javascript-Datei erstellen möchten, dann
quelle
Das hat bei mir funktioniert,
Hier ist ein anderer Weg, den ich heute gefunden habe. Ich habe Ideen aus anderen Antworten erhalten, aber es hat funktioniert
Z.B.
Dies würde eine Fehlermeldung in der Eingabeaufforderung anzeigen, dass,
xyz
ist nicht als interner oder externer Befehl, bedienbares Programm oder Batch-Datei.Aber das Seltsame, was ich gefunden habe, war, dass die Datei im Verzeichnis erstellt wird, auch wenn der Befehl kein Standard-Windows-Befehl ist.
quelle
Versuche dies:
Siehe: superUser
quelle
Unter Windows habe ich das versucht
und es wurde eine Datei mit dem Namen fff1.txt erstellt mit einer Dateigröße von 0 KB erstellt
Ich habe keine anderen Befehle gefunden, die eine leere Datei erstellen könnten.
quelle
Noch ein anderer Weg:
quelle
Ich habe es gerade in Windows versucht
dann EnterTaste drücken, dann drückenCtrl+Z Enter
Und es hat bei mir funktioniert.
Für Ubuntu erstelle ich normalerweise eine Datei mit dem VI-Befehl
Es öffnet die Datei und drückt die ESCTaste. Geben Sie dann Folgendes ein: wp und drücken Sie die enterTaste. Es wird eine neue Datei mit leeren Daten erstellt.
quelle
echo '' > %1
. (Benennen Sie die Datei als touch.bat)touch temp.txt
Erstellt eine temp.txt-Datei.)Weitere Informationen finden Sie in diesem Artikel.
quelle
Heute habe ich einen neuen entdeckt :)
Dadurch wird der Titel des Befehlszeilenfensters geändert, es wird jedoch auch eine leere Datei erstellt.
quelle
Führen Sie CMD im Administratormodus aus und geben Sie Folgendes ein:
oder Sie geben dies ein
quelle
Hier ist noch ein anderer Weg:
Der Schrägstrich
/
ist obligatorisch; ohne sie wurde der Umleitungsteil von auskommentiertrem
.quelle
Erstellen Sie zuerst Ihre Datei so, dass sie existiert:
Überschreiben Sie dann die erstellte Datei mit einer leeren Version mit dem folgenden
copy
Befehl:quelle