Quelqu'un peut-il se rappeler quelle était la commande pour créer un fichier vide dans MSDOS en utilisant le fichier BAT?
batch-file
cmd
dos
m_pGladiator
la source
la source
cmd.exe
, n'est-ce pas?Set-Content "your_file.txt" .gitignore -Encoding utf8
ceci est sensible à la casse et force le codage utf8! (J'ai également posté cela comme réponse).Réponses:
la source
.
àecho.
echo 2
sans.
, la console afficherait "ECHO est désactivé". Utiliserecho. 2
efficacement la sortie de la console au silence en affichant uniquement une nouvelle ligne.DOS a quelques fichiers spéciaux (périphériques, en fait) qui existent dans chaque répertoire,
NUL
étant l'équivalent d'UNIX/dev/null
: c'est un fichier magique qui est toujours vide et jette tout ce que vous y écrivez. Voici une liste de quelques autres;CON
est parfois utile aussi.Pour éviter toute sortie, vous pouvez utiliser
/y
empêchecopy
de poser une question que vous ne pouvez pas voir lorsque la sortie est envoyéeNUL
.la source
copy /Y NUL
commande, elle peut effacer le contenu existant. Si vous êtes habitué à latouch
commande Unix , ce n'est peut-être pas du tout ce que vous attendez.) L'utilisationtype NUL >> emptyfile.txt
est plus sûre à cet égard.CON
, à part celle liée dans cette réponse. Quelqu'un pourrait-il partager une lecture légère?Après avoir lu les deux messages précédents, ce mélange des deux est ce que j'ai trouvé. Cela semble un peu plus propre. Vous n'avez pas à vous soucier de rediriger les "1 fichier (s) copié (s)". message
NUL
, comme le post précédent fait, et il semble bien à côté de laECHO OutputLineFromLoop >> Emptyfile.txt
qui suivent habituellement dans un fichier batch.la source
Techniques que j'ai recueillies à partir d'autres réponses:
Rend un fichier de 0 octet d' une manière très claire et rétrocompatible:
idée via: anonyme , Danny Backett , 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:
idée via: Johannes
Un fichier de 0 octet à la troisième manière rétrocompatible:
idée via: TheSmurf
Un fichier de 0 octet de la manière systématique probablement disponible depuis Windows 2000:
idée via: Emm
Un fichier de 0 octet écrasant les fichiers en lecture seule
idée via: copyitright
Un seul saut de ligne (2 octets:
0x0D 0x0A
en notation hexadécimale , alternativement écrit comme\r\n
):Remarque: aucun espace entre
echo
,.
et>
.idée via: Comment faire écho à une nouvelle ligne dans des fichiers batch?
edit Il semble que toute commande invalide redirigée vers un fichier crée un fichier vide. heh, une fonctionnalité! compatibilité: uknown
Un fichier de 0 octets: commande invalide / avec un nom aléatoire (compatibilité: uknown):
via: une excellente source pour le hasard par Hung Huynh
modifier 2 Andriy M souligne la façon probablement la plus amusante / provocante d'y parvenir via une commande invalide
Un fichier de 0 octets: commande invalide / façon funky (compatibilité: inconnue)
idée via: Andriy M
A 0 octets voie 4ème à venir fichier :
idée via: foxidrive grâce au commentaire de Double Gras !
la source
type nul ...
, nontype <nul ...
.NonExistentCommand <nul >EmptyFile.txt
et cela a fonctionnébreak > file.txt
accessoires foxidrive>>
si vous avez besoin "doivent exister mais ne doivent pas être tronquées si elles existent" (comme le fait Unixtouch
)REM. > empty.file
la source
REM.
, cmd répondra par "'rem". n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes. "rem/
au lieu derem.
résout ce problème ...S'il existe une possibilité que le fichier à écrire existe déjà et soit en lecture seule, utilisez le code suivant:
Si aucun fichier n'existe, faites simplement:
(code mis à jour / modifié selon le commentaire de DodgyCodeException)
Pour supprimer les erreurs qui pourraient survenir:
la source
CD
(sans extension) dans le répertoire courant, et que vous tapezCD.
, cmd répondra avec "'CD' '. n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes. " Si vous tapez à la placeCD .
(avec un espace avant le point), cela fonctionnera.la source
Un de plus à ajouter aux livres - court et doux à taper.
la source
Vous pouvez utiliser une
TYPE
commande au lieu deCOPY
. Essaye ça:Où
File1.txt
est vide.la source
type NUL>File2.txt
Vous pouvez également utiliser
SET
pour créer unbyte
fichier nul comme suitOu si vous ne voulez pas créer une variable supplémentaire, réaffectez une variable existante comme
ou comme ça:
la source
Il existe des approches infinies.
Commandes qui ne produisent rien:
Commandes étranges:
La
print
commande obsolète produit un fichier vierge:la source
Le moyen le plus simple est:
echo. > Filename.txt
la source
IMPORTANT:
Si vous ne définissez pas l'encodage, de nombreux logiciels peuvent se casser. git est un exemple très populaire.
Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8
c'est sensible à la casse et force le codage utf8!la source