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é.

377
demandé sur Ripon Al Wasim 2009-11-09 21:18:14

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 " tubes nul réponse à la set/p de commande, qui sera la cause de la variable utilisée pour restent inchangés. Comme d'habitude avec set/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! ".

443
répondu VonC 2017-07-29 14:26:21

essayez ceci:

type NUL > 1.txt

cela créera certainement un fichier vide.

239
répondu Justin 2013-03-15 13:38:14

Voici une autre façon:

cd. > filename
81
répondu Patrick Cuff 2009-11-09 19:02:03

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.

70
répondu qid 2009-11-09 18:34:01

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
37
répondu iCrazybest 2016-12-01 17:34:42

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é.

29
répondu nash 2010-01-12 17:55:07
echo "" > filename

je crois que cela fonctionne sur Windows/DOS, mais ma dernière expérience pratique avec l'un ou l'autre est il ya un certain temps. Je sais de fait que cela fonctionne sur n'importe quel OS compatible POSIX .

22
répondu Kris 2010-01-12 17:56:28
call>file.txt

c'est le moyen le plus propre que je connaisse.

19
répondu nephi12 2013-10-24 20:12:41

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;
}
10
répondu Paul Nathan 2009-11-09 18:21:30

copy con SomeFile.txt Entrée

Ctrl-Z Enter

7
répondu DRapp 2011-12-08 12:36:39
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.

6
répondu Hydrogirl 2018-02-28 23:38:14

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 .

5
répondu Nomad 2013-11-27 08:47:03

encore une autre méthode qui crée un fichier à octet zéro:

break > "file.txt"
5
répondu foxidrive 2014-08-27 12:29:50

utiliser copy > your_file_name.extension dans l'invite de commande comme

P:\excecise> copy > Sample.txt
5
répondu Raj Kumar Mishra 2017-10-21 16:49:34

vous pouvez également utiliser:

echo. 2>foo

la sortie de débogage pour echo. sera presque certainement vide.

4
répondu Craig 2013-03-15 13:37:54

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).

4
répondu EKons 2015-10-03 17:23:18

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

4
répondu Amado Saladino 2018-05-19 10:16:21

ç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.

3
répondu Lucky 2014-10-01 07:18:01

encore une autre voie:

copy nul 2>empty_file.txt
3
répondu GadBro 2017-10-22 12:09:16

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

2
répondu suhao399 2015-12-25 04:54:44

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.

2
répondu ARJUN KP 2017-07-15 18:53:24

essayez ceci:

echo $null >> filename 

voir: superUser

2
répondu shireef khatab 2017-10-05 12:23:12

À 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.

2
répondu Omkar Agrawal 2017-10-21 14:09:39

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.

2
répondu Aswin 1054 2018-04-03 15:42:02

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
1
répondu ninix 2014-08-27 12:18:46

exécutez CMD en mode administrateur et tapez ceci:

NUL > file_name.extention

ou tapez ce

echo .> file_name.extention
1
répondu Lekens 2017-04-28 10:47:18

Voici encore un autre chemin:

rem/ > file.ext

la barre oblique / est obligatoire; sans elle la partie redirection a été commentée par rem .

1
répondu aschipfl 2017-05-31 20:22:24
  • 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.

1
répondu Pranay Kumar 2018-06-12 05:51:52

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
0
répondu Dowopfan 2013-09-06 13:07:04
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)

0
répondu 131 2014-05-12 10:13:29