Comment créer un fichier texte vide à partir d'un fichier de commandes?
-
03-07-2019 - |
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?
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
Où 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