Kann sich jemand erinnern, was der Befehl war, eine leere Datei in MSDOS mithilfe der BAT-Datei zu erstellen?
batch-file
cmd
dos
m_pGladiator
quelle
quelle
cmd.exe
?Set-Content "your_file.txt" .gitignore -Encoding utf8
Dies unterscheidet zwischen Groß- und Kleinschreibung und erzwingt die utf8-Codierung! (Ich habe dies auch als Antwort gepostet).Antworten:
quelle
.
inecho.
echo 2
ohne das verwenden.
, würde die Konsole "ECHO ist aus" anzeigen . Durch dieecho. 2
effektive Verwendung wird die Konsolenausgabe stummgeschaltet, indem nur eine neue Zeile angezeigt wird.DOS hat einige spezielle Dateien (eigentlich Geräte), die in jedem Verzeichnis vorhanden sind
NUL
und den UNIX- Dateien entsprechen/dev/null
: Es ist eine magische Datei, die immer leer ist und alles wegwirft, was Sie darauf schreiben. Hier ist eine Liste einiger anderer;CON
ist gelegentlich auch nützlich.Um überhaupt keine Ausgabe zu haben, können Sie verwenden
/y
verhindert,copy
dass eine Frage gestellt wird, die Sie nicht sehen können, wenn die Ausgabe an gehtNUL
.quelle
copy /Y NUL
Befehls werden möglicherweise vorhandene Inhalte gelöscht. Wenn Sie an dentouch
Befehl von Unix gewöhnt sind, entspricht dies möglicherweise überhaupt nicht Ihren Erwartungen.) Die Verwendungtype NUL >> emptyfile.txt
ist in dieser Hinsicht sicherer.CON
Abgesehen von den in dieser Antwort verlinkten Informationen konnte ich keine finden . Könnte jemand eine leichte Lektüre teilen?Nachdem ich die beiden vorherigen Beiträge gelesen habe, habe ich mir diese Mischung aus beiden ausgedacht. Es scheint ein bisschen sauberer. Sie müssen sich keine Gedanken über die Umleitung der "1 kopierten Datei (en)" machen. Nachricht an
NUL
, wie im vorherigen Beitrag, und es sieht gut aus neben derECHO OutputLineFromLoop >> Emptyfile.txt
, die normalerweise in einer Batch-Datei folgt.quelle
Techniken, die ich aus anderen Antworten zusammengetragen habe:
Macht eine 0-Byte-Datei sehr klar und abwärtskompatibel:
Idee über: anonym , Danny Backett , möglicherweise andere, ich selbst inspiriert von JdeBPs Arbeit
Eine 0-Byte-Datei ist anders ausgedrückt abwärtskompatibel:
Idee über: Johannes
Eine 0-Byte-Datei 3. Weg auch abwärtskompatibel:
Idee über: TheSmurf
Eine 0-Byte-Datei, die wahrscheinlich seit Windows 2000 systematisch verfügbar ist:
Idee über: Emm
Eine 0-Byte-Datei, die schreibgeschützte Dateien überschreibt
Idee via: copyitright
Eine einzelne neue Zeile (2 Bytes:
0x0D 0x0A
in hexadezimaler Schreibweise , alternativ geschrieben als\r\n
):Hinweis: kein Raum zwischen
echo
,.
und>
.Idee über: Wie können Sie einen Zeilenumbruch in Batch-Dateien wiedergeben?
Bearbeiten Es scheint, dass jeder ungültige Befehl, der in eine Datei umgeleitet wird , eine leere Datei erstellen würde. heh, ein Feature! Kompatibilität: unbekannt
Eine 0-Byte-Datei: ungültiger Befehl / mit einem zufälligen Namen (Kompatibilität: unbekannt):
via: tolle Quelle für Zufall von Hung Huynh
edit 2 Andriy M weist auf den wahrscheinlich amüsantesten / provokantesten Weg hin, dies über einen ungültigen Befehl zu erreichen
Eine 0-Byte-Datei: ungültiger Befehl / Funky Way (Kompatibilität: unbekannt)
Idee über: Andriy M.
Eine 0-Byte-Datei 4. kommender Weg :
Idee via: foxidrive dank Kommentar von Double Gras !
quelle
type nul ...
, nichttype <nul ...
, eigentlich.NonExistentCommand <nul >EmptyFile.txt
break > file.txt
, Requisiten foxidrive>>
wenn Sie "müssen vorhanden sein, sollten aber nicht abgeschnitten werden, wenn vorhanden" (wie es Unixtouch
tut)REM. > empty.file
quelle
REM.
cmd mit "'rem' antwortet , wenn sich im aktuellen Verzeichnis eine Datei namens REM befindet und Sie eingeben. wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt. "rem/
anstattrem.
dieses Problem zu lösen ...Wenn die Möglichkeit besteht, dass die zu schreibende Datei bereits vorhanden und schreibgeschützt ist, verwenden Sie den folgenden Code:
Wenn keine Datei vorhanden ist, gehen Sie einfach wie folgt vor:
(Code gemäß DodgyCodeException-Kommentar aktualisiert / geändert)
So unterdrücken Sie eventuell auftretende Fehler:
quelle
CD
im aktuellen Verzeichnis eine Datei mit dem Namen (keine Erweiterung) befindet und SieCD.
eingeben. wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt. " Wenn Sie stattdessenCD .
(mit einem Leerzeichen vor dem Punkt) eingeben, funktioniert dies.quelle
Eine weitere, die Sie den Büchern hinzufügen können - kurz und bündig zum Tippen.
quelle
Sie können einen
TYPE
Befehl anstelle von verwendenCOPY
. Versuche dies:Wo
File1.txt
ist leer.quelle
type NUL>File2.txt
Sie können auch
SET
eine Nulldateibyte
wie folgt erstellenOder wenn Sie keine zusätzliche Variable erstellen möchten, weisen Sie eine vorhandene Variable wie neu zu
oder so:
quelle
Es gibt unendlich viele Ansätze.
Befehle, die nichts ausgeben:
Seltsame Befehle:
Der veraltete
print
Befehl erzeugt eine leere Datei:quelle
Der einfachste Weg ist:
echo. > Filename.txt
quelle
WICHTIG:
Wenn Sie die Codierung nicht festlegen, können viele Softwareprogramme beschädigt werden. Git ist ein sehr beliebtes Beispiel.
Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8
Dies unterscheidet zwischen Groß- und Kleinschreibung und erzwingt die utf8-Codierung!quelle