Comment créer un fichier vide à la ligne de commande dans Windows?
comment créer un fichier vide à la ligne de commande DOS/Windows?
j'ai essayé:
copy nul > file.txt
mais il affiche toujours qu'un fichier a été copié.
y a-t-il une autre méthode dans le cmd standard?
il doit s'agir d'une méthode qui ne nécessite pas la commande touch de Cygwin ou toute autre commande non standard. La commande doit s'exécuter à partir d'un script pour que les frappes ne puissent pas être utilisé.
30 réponses
sans redirection Luc Vu or Erik Konstantopoulos point out to:
copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt
" comment créer un fichier texte vide à partir d'un fichier batch? " (2008) souligne également:
type NUL > EmptyFile.txt
# also
echo. 2>EmptyFile.txt
copy nul file.txt > nul # also in qid's answer below
REM. > empty.file
fsutil file createnew file.cmd 0 # to create a file on a mapped drive
Nomad mentionne un original :
C:\Users\VonC\prog\tests>aaaa > empty_file
'aaaa' is not recognized as an internal or external command, operable program or batch file.
C:\Users\VonC\prog\tests>dir
Folder C:\Users\VonC\prog\tests
27/11/2013 10:40 <REP> .
27/11/2013 10:40 <REP> ..
27/11/2013 10:40 0 empty_file
dans le même esprit, Samuel suggère dans les commentaires :
le plus court que j'utilise est essentiellement celui de Nomad:
.>out.txt
Il ne donnera une erreur:
'.' is not recognized as an internal or external command
Mais cette erreur est sur stderr. Et >
seulement redirige stdout, où rien ont été produits.
D'où la création d'un fichier vide . Le message d'erreur peut être ignorée ici.
(réponse originale, novembre 2009)
echo.>filename
( echo ""
serait en fait de mettre "" dans le fichier! Et echo
sans le".'mettrait " Command ECHO activated
" dans le fichier...)
Note: le fichier résultant n'est pas vide mais inclut une séquence de ligne de retour: 2 octets.
Ce discussion points à un vrai lot de solution pour un vrai vide fichier:
<nul (set/p z=) >filename
dir filename
11/09/2009 19:45 0 filename
1 file(s) 0 bytes
"
<nul
" tubesnul
réponse à laset/p
de commande, qui sera la cause de la variable utilisée pour restent inchangés. Comme d'habitude avecset/p
, la corde à la le droit du signe égal est affiché comme un prompt sans CRLF.
car ici la" corde à droite du signe égal " est vide... le résultat est un fichier vide.
la différence avec cd. > filename
(qui est mentionné dans réponse de Patrick Cuff et ne produit également un fichier 0-byte-longueur) est que ce " bit de redirection" (l'astuce <nul...
) peut être utilisé pour lignes d'écho sans aucun CR :
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
la commande dir doit indiquer la taille du fichier comme 12 octets: "
hello world!
".
essayez ceci:
type NUL > 1.txt
cela créera certainement un fichier vide.
si vous voulez vraiment un fichier totalement vide, sans aucune sortie à stdout, vous pouvez tricher un peu:
copy nul file.txt > nul
redirigez simplement stdout vers nul, et la sortie de la copie disparaît.
ouvrir le fichier:
type file.txt
nouveau fichier:
Way 1 : type nul > file.txt
Way 2 : echo This is a sample text file > sample.txt
Way 3 : notepad myfile.txt <press enter>
Modifier le contenu:
notepad file.txt
Copie
copy file1.txt file1Copy.txt
Renommer
rename file1.txt file1_rename.txt
supprimer le fichier:
del file.txt
en lisant les commentaires sur mon post, je dois admettre que je n'ai pas bien lu la question.
sur la ligne de commande de Windows, une façon serait d'utiliser fsutil :
fsutil file createnew <filename> <size>
un exemple:
fsutil file createnew myEmptyFile.txt 0
ci-dessous est pour *Nix ligne de commande.
touch filename
cette commande modifie la date de modification d'un fichier ou la crée si le fichier n'est pas trouvé.
call>file.txt
c'est le moyen le plus propre que je connaisse.
Vous pouvez écrire votre propre touche.
//touch.cpp
#include <fstream>
#include <iostream>
int main(int argc, char ** argv;)
{
if(argc !=2)
{
std::cerr << "Must supply a filename as argument" << endl;
return 1;
}
std::ofstream foo(argv[1]);
foo.close();
return 0;
}
cd > filename.cfg
a fonctionné lors de la création d'un fichier dans C:/Program fichiers dont vous n'avez pas l'accès pour créer des fichiers directement.
Essayez ce qui suit : abc > myFile.txt
Tout d'abord, il va créer un fichier avec le nom myFile.txt
dans le répertoire de travail actuel (dans l'invite de commande). Puis il lance la commande abc
qui n'est pas une commande valide. De cette façon, vous avez obtenu un nouveau fichier vide avec le nom myFile.txt
.
encore une autre méthode qui crée un fichier à octet zéro:
break > "file.txt"
utiliser copy > your_file_name.extension
dans l'invite de commande
comme
P:\excecise> copy > Sample.txt
vous pouvez également utiliser:
echo. 2>foo
la sortie de débogage pour echo.
sera presque certainement vide.
type nul>filename
va créer un nouveau fichier vide.
Désolé, je suis en retard.
UPDATE : aussi copy nul filename
fonctionne sans redirection (solution plus évidente).
Vous pouvez utiliser l'ancienne commande
copy con file_name.ext
ne tapez rien, appuyez simplement sur F6 pour le sauvegarder, cependant il imprimera "fichier copié", mais quand vous ouvrez le fichier, il sera vide
ça a marché pour moi,
echo > file.extension
Voici une autre façon que j'ai trouvé aujourd'hui, a obtenu des idées d'autres réponses, mais il a fonctionné
sometext > filename.extension
par exemple.
xyz > emptyfile.txt //this would create an empty zero byte text file
abc > filename.mp4 //this would create an zero byte MP4 video media file
cela montrerait un message d'erreur dans l'invite de commande que,
xyz
n'est pas une commande interne ou externe, un programme opérable ou un fichier de lots.
mais la chose étrange que je trouvé était le fichier est créé dans le répertoire même si la commande n'est pas une norme de commande de windows.
j'ai lu beaucoup de fils, mais ce n'est pas le chemin le plus court.
s'il vous Plaît utiliser la commande:
>copy /b NUL empty_file.txt
Juste que j'ai essayé sous windows
copy con file.txt
Appuyez ensuite sur entrez Appuyez ensuite sur Ctrl+Z entrez
et ça a marché pour moi.
pour Ubuntu habituellement, je crée un fichier en utilisant la commande VI
vi file.txt
il ouvrira le fichier puis pressera ESC tapez ensuite : wp puis appuyez sur entrez . Il va créer un nouveau fichier vide de données.
À La Windows J'ai essayé de le faire
echo off > fff1.txt
et il a créé un fichier nommé fff1.txt avec une taille de fichier de 0 ko
Je n'ai trouvé aucune commande autre que celle-ci qui pourrait créer un fichier vide.
Remarque: Vous devez être dans le répertoire que vous souhaitez créer le fichier.
pour que vous puissiez créer un fichier vide avec
'' > newfile.txt
naviguez vers le répertoire et tapez la commande ci-dessus dans la fenêtre PowerShell.
notez que cela ne fonctionnera pas sur l'invite de commande windows.
aujourd'Hui, j'ai découvert un nouveau :)
cela changera le titre de la fenêtre de ligne de commande, mais créera aussi un fichier vide.
title > file.txt
exécutez CMD en mode administrateur et tapez ceci:
NUL > file_name.extention
ou tapez ce
echo .> file_name.extention
Voici encore un autre chemin:
rem/ > file.ext
la barre oblique /
est obligatoire; sans elle la partie redirection a été commentée par rem
.
- créer un fichier bat avec le contenu
echo '' > %1
. (nom du fichier, comme le toucher.chauve-souris) - ajoute le dossier à la variable PATH.
- vous pouvez utiliser le toucher pour créer des fichiers. (Ex:
touch temp.txt
crée temp.fichier txt)
vérifier ce de l'article pour plus d'informations.
créez D'abord votre fichier pour qu'il existe:
echo . > myfile.txt
remplace alors le fichier créé par une version vide en utilisant la commande copy
:
copy /y nul myfile.txt
echo.|set /p=>file
echo.
supprimer la" commande ECHO activée"
|set /p=
empêcher le retour à la ligne (et le fichier est maintenant de 0 octet)