Question

Quelqu'un peut-il se souvenir de la commande permettant de créer un fichier vide dans MSDOS à l'aide d'un fichier BAT?

Était-ce utile?

La solution

echo. 2>EmptyFile.txt

Autres conseils

copy NUL EmptyFile.txt

DOS contient quelques fichiers spéciaux (des périphériques, en réalité) dans chaque répertoire, NUL étant l'équivalent de / dev / null de UNIX: c'est un fichier magique toujours vide et jette tout ce que vous écrivez. Voici une liste de certains autres; CON est parfois utile aussi.

Pour éviter toute sortie, vous pouvez utiliser

copy /y NUL EmptyFile.txt >NUL

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

type NUL > EmptyFile.txt

Après avoir lu les deux articles précédents, j’ai proposé ce mélange des deux. Cela semble un peu plus propre. Il n’est pas nécessaire de s’inquiéter de la redirection du & des; 1 fichier (s) copié (s). " message à NUL , comme le fait le message précédent, et il est agréable à côté du ECHO OutputLineFromLoop > > Emptyfile.txt qui suivra généralement dans un fichier de commandes.

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

Crée un fichier de 0 octet de manière très claire et compatible avec les versions antérieures:

type nul >EmptyFile.txt

idée via: anonyme , Danny Backett , éventuellement d'autres personnes, inspirées 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, 3ème voie , également compatible avec les versions antérieures:

echo. 2>EmptyFile.txt

idée via: TheSmurf

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 écrasant des fichiers en lecture seule

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

idée via: copyitright

Une nouvelle ligne (2 octets: 0x0D 0x0A dans notation hexadécimale , alternativement écrite sous la forme \ r \ n ):

echo.>AlmostEmptyFile.txt

Remarque: aucun espace entre echo , . et > .

idée via: Comment faire écho une nouvelle ligne dans un lot fichiers?

modifier Il semble que toute commande non valide redirigée vers un fichier créerait un fichier vide. heh, une fonctionnalité! compatibilité: inconnue

TheInvisibleFeature <nul >EmptyFile.txt

Un fichier de 0 octets: commande non valide / avec un nom aléatoire (compatibilité: inconnu):

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

via: great source pour au hasard par Hung Huynh

modifier 2 Andriy M indique la manière probablement la plus amusante / provocante de réaliser cela via une commande non valide

Un fichier de 0 octets: commande non valide / funky way (compatibilité: inconnue)

*>EmptyFile.txt

idée via: Andriy M

Un fichier de 0 octets venant du 4ème chemin :

break > file.txt

idée via: foxidrive grâce à commentaire de Double Gras !

REM. > fichier vide

S'il est possible que le fichier à écrire existe déjà et soit en lecture seule, utilisez le code suivant:

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

Si aucun fichier n'existe, faites simplement:

CD .>filename.ext

(code mis à jour / modifié en fonction du commentaire de DodgyCodeException)

Pour supprimer les erreurs éventuelles:

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

Encore un à ajouter aux livres - bref et facile à taper.

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

Vous pouvez utiliser une commande TYPE au lieu de COPY . Essayez ceci:

TYPE File1.txt>File2.txt

Fichier1.txt est vide.

Vous pouvez également utiliser SET pour créer un fichier null octet comme suit

set x=x > EmptyFile.txt

Ou si vous ne souhaitez pas créer de variable supplémentaire, réaffectez une variable existante telle que

set PROMPT=%PROMPT% > EmptyFile.txt

ou comme ceci:

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

Le moyen le plus simple est:

echo. > Nom de fichier.txt

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top