Come creare un file di testo vuoto da un file batch?
-
03-07-2019 - |
Domanda
Qualcuno può ricordare qual era il comando per creare un file vuoto in MSDOS usando il file BAT?
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