2010-11-24 22 views
7

Ich möchte eine Datei aus einer Batch-Datei erstellen. Ich kann das echo. > donald.txt verwenden, aber es erstellt es mit einer ersten leeren Zeile. Was kann ich noch zu einer Datei von der ersten Zeile aus verwenden?Erstellen einer leeren Datei aus einer Batch-Datei

+0

Revision: .... leere Zeile ... – aemme

+0

Noch ein bisschen verwirrt, was das Problem ist? Ausgehend von der ersten Zeile ... können Sie das klären? –

+0

Um zukünftige Suchen zu unterstützen, ** leere Datei ** ist gleichbedeutend mit ** leere Datei **. – DavidRR

Antwort

23

Sie möchten nur eine komplett leere Datei erstellen? Dadurch wird es tun:

copy /y nul donald.txt 

Wenn Sie suchen etwas zum ersten Zeile zu schreiben, Sie wollen etwas wie folgt aus:

echo Hello, World > donald.txt 
+0

Vielen Dank, Hallo Welt !!! – aemme

0

Wenn Sie mit Powershell:

function touch {set-content -Path ($args[0]) -Value ($null) } 
touch file-name 

Quelle: http://blog.lab49.com/archives/249.

+3

Urgh, das ist eine böse Art, einen 'touch'-Befehl zu definieren. Denken Sie daran, dass 'touch' nicht nur zum Erstellen leerer Dateien verwendet wird, sondern auch zum Aktualisieren des Zeitstempels eines vorhandenen. Besser keinen Namen verwenden, der schon mehrfach verwendet wurde ;-). Im Einklang mit der PowerShell-Terminologie sollte dies * wahrscheinlich * als "New-Item" bezeichnet werden. Aber warte ... das gibt es schon. 'New-Item foo.txt -Type-Datei' (oder' ni -t f foo.txt', wenn Sie es kürzer mögen). Also, das ist wahrscheinlich eine Nicht-Lösung für etwas, das mit den bereits vorhandenen Tools einfacher gemacht werden kann. – Joey

0

Das ist, weil echo. eine leere Zeile in Ihrer Datei einfügt.

Versuchen Sie, den gleichen Code verwenden, aber ohne die Zeit bis zum Ende der echo Anweisung angefügt:

echo "Test string" > donald.txt 
+0

Wenn sie eine leere Datei wollen, dann wollen sie sicher nicht, dass die Datei "Test string" liest (sogar die Anführungszeichen eingeschlossen). – Joey

+0

@Joey: Ich interpretierte "Was kann ich noch zu einer Datei aus der ersten Zeile verwenden?" das heißt, sie wollten Text in die Datei schreiben, aber sie wollten, dass er in der ersten Zeile der Datei erscheint, und nicht in der zweiten Zeile mit einer leeren Zeile oben. –

+0

Ah, ok. Die Frage war in der Tat ein wenig unklar. – Joey

6

Eine der Optionen ist

@echo off 
rem Don't destroy an existing file 
if exist testfile goto _nocreate 
:: Create the zero-byte file 
type nul>testfile 
:_nocreate 

Ursprünglich aus http://www.netikka.net/tsneti/info/tscmd041.htm, die einige zusätzliche Methoden enthält .

0

In alten MS-DOS Tagen habe ich diese Methode verwendet, um eine leere Datei zu erstellen:

rem > empty.txt 

In neuen Windows dies nicht mehr funktioniert, aber rem kann von jedem Befehl ersetzt werden, die nichts zeigen. Zum Beispiel:

cd . > empty.txt 
Verwandte Themen