Domanda

Qualcuno può ricordare qual era il comando per creare un file vuoto in MSDOS usando il file BAT?

È stato utile?

Soluzione

echo. 2>EmptyFile.txt

Altri suggerimenti

copy NUL EmptyFile.txt

DOS ha alcuni file speciali (dispositivi, in realtà) che esistono in ogni directory, NUL è l'equivalente di / dev / null di UNIX: è un file magico che è sempre vuoto e getta via tutto ciò che gli scrivi. Ecco un list di alcuni altri; CON è utile anche occasionalmente.

Per evitare di avere alcun output, puoi usare

copy /y NUL EmptyFile.txt >NUL

/ y impedisce a copy di porre una domanda che non puoi vedere quando l'output passa a NUL .

type NUL > EmptyFile.txt

Dopo aver letto i due post precedenti, questa miscela dei due è ciò che mi è venuto in mente. Sembra un po 'più pulito. Non è necessario preoccuparsi di reindirizzare i "file" copiati. & Quot; messaggio a NUL , come fa il post precedente, e sembra carino accanto a ECHO OutputLineFromLoop > > Emptyfile.txt che di solito seguirà in un file batch.

Tecniche che ho raccolto da altre risposte:

Crea un file a 0 byte un modo molto chiaro e compatibile con le versioni precedenti:

type nul >EmptyFile.txt

idea tramite: anonymous , Danny Backett , forse altri, mi sono ispirato a Il lavoro di JdeBP

Un file da 0 byte in un altro modo , è retrocompatibile:

REM. >EmptyFile.txt

idea tramite: Johannes

Un terzo modo di file 0 byte compatibile anche con le versioni precedenti:

echo. 2>EmptyFile.txt

idea tramite: TheSmurf

Un file di 0 byte in modo sistematico probabilmente disponibile da Windows 2000:

fsutil file createnew EmptyFile.txt 0

idea tramite: Emm

Un file di 0 byte che sovrascrive file di sola lettura

ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL

idea tramite: copyitright

Una singola nuova riga (2 byte: 0x0D 0x0A in notazione esadecimale , in alternativa scritta come \ r \ n ):

echo.>AlmostEmptyFile.txt

Nota: no spazio tra echo , . e > .

idea tramite: Come si può fare l'eco di una nuova riga in batch file?


modifica Sembra che qualsiasi comando non valido reindirizzato su un file creerebbe un file vuoto. eh, una caratteristica! compatibilità: unown

TheInvisibleFeature <nul >EmptyFile.txt

Un file di 0 byte: comando non valido / con un nome casuale (compatibilità: sconosciuto):

%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt

via: great source per caso da Hung Huynh

modifica 2 Andriy M sottolinea il modo probabilmente più divertente / stimolante per raggiungere questo obiettivo tramite comando non valido

Un file di 0 byte: comando non valido / il modo funky (compatibilità: sconosciuto)

*>EmptyFile.txt

idea tramite: Andriy M

Un file di 0 byte in quarta direzione :

break > file.txt

idea tramite: foxidrive grazie a commento di Double Gras !

REM. & Gt; empty.file

Se esiste la possibilità che il file da scrivere sia già esistente e sia di sola lettura, utilizzare il seguente codice:

ATTRIB -R filename.ext
CD .>filename.ext

Se non esiste alcun file, semplicemente:

CD .>filename.ext

(codice aggiornato / modificato secondo il commento di DodgyCodeException)

Per eliminare eventuali errori che possono sorgere:

ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
fsutil file createnew file.cmd 0

Un altro da aggiungere ai libri: breve e dolce da scrivere.

break>file.txt
break>"file with spaces in name.txt"

Puoi usare un comando TYPE invece di COPY . Prova questo:

TYPE File1.txt>File2.txt

Dove File1.txt è vuoto.

Puoi anche usare SET per creare un file byte come segue

set x=x > EmptyFile.txt

O se non si desidera creare una variabile aggiuntiva riassegnare una variabile esistente come

set PROMPT=%PROMPT% > EmptyFile.txt

o in questo modo:

set "PROMPT=%PROMPT%" > EmptyFile.txt

Il modo più semplice è:

eco. & Gt; Filename.txt

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top