237 votes

Comment créer un fichier texte vide à partir d'un fichier batch ?

Quelqu'un peut-il se rappeler quelle était la commande pour créer un fichier vide dans MSDOS en utilisant le fichier BAT ?

356voto

ephemient Points 87003
copy NUL EmptyFile.txt

DOS possède quelques fichiers spéciaux (des périphériques, en fait) qui existent dans chaque répertoire, NUL étant l'équivalent de l'option /dev/null c'est un fichier magique qui est toujours vide et qui jette tout ce que vous y écrivez. Voici un fichier liste de certains autres ; CON est également utile à l'occasion.

Pour ne pas avoir de sortie du tout, vous pouvez utiliser

copy /y NUL EmptyFile.txt >NUL

/y empêche copy de poser une question que vous ne pouvez pas voir quand la sortie va à NUL .

231voto

TheSmurf Points 10872
echo. 2>EmptyFile.txt

178voto

type NUL > EmptyFile.txt

Après avoir lu les deux messages précédents, c'est ce mélange des deux qui m'est venu. Il semble un peu plus propre. Il n'y a pas besoin de s'inquiéter de la redirection du message "1 fichier(s) copié(s)" vers NUL comme le fait le post précédent, et cela fait bien à côté du ECHO OutputLineFromLoop >> Emptyfile.txt qui suivent généralement dans un fichier batch.

61voto

naxa Points 1185

Techniques que j'ai recueillies dans d'autres réponses :

Crée un fichier de 0 octet d'une manière très claire et rétrocompatible :

type nul >EmptyFile.txt

idée via : anonyme , Danny Backett et peut-être d'autres, moi-même inspiré par Le travail de JdeBP

Un fichier de 0 octet d'une autre manière il est rétrocompatible :

REM. >EmptyFile.txt

idée via : Johannes

Un fichier de 0 octet de 3ème façon qui est également rétrocompatible :

echo. 2>EmptyFile.txt

idée via : LeSmurf

Un fichier de 0 octet de manière systématique probablement disponible depuis Windows 2000 :

fsutil file createnew EmptyFile.txt 0

idée via : Emm

Un fichier de 0 octet qui écrase les fichiers en lecture seule.

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

idée via : droit d'auteur

Un seul saut de ligne (2 octets : 0x0D 0x0A en notation hexagonale qui peut aussi s'écrire comme suit \r\n ):

echo.>AlmostEmptyFile.txt

Note : pas de espace entre echo , . y > .

idée via : Comment faire écho à une nouvelle ligne dans les fichiers batch ?


modifier Il semble que toute invalidité commande redirigé à un fichier créerait un fichier vide. heh, une fonctionnalité ! compatibilité : inconnue

TheInvisibleFeature <nul >EmptyFile.txt

Un fichier de 0 octet : commande invalide/ avec un nom aléatoire (compatibilité : inconnue) :

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

via : super fuente pour le hasard par Hung Huynh

modifier 2 Andriy M souligne la manière probablement la plus amusante/provocante d'y parvenir via la commande invalide

Un fichier de 0 octet : commande invalide/ la façon funky (compatibilité : inconnue)

*>EmptyFile.txt

idée via : Andriy M

25voto

Johannes Points 131

REM. > empty.file

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X