windows - vide - exemple fichier batch




Comment créer un fichier vide sur la ligne de commande dans Windows? (20)

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?

Ce devrait être une méthode qui ne nécessite pas la commande touch de Cygwin ou d'autres commandes non standard. La commande doit être exécutée à partir d'un script afin que les frappes clavier ne puissent pas être utilisées.


Aujourd'hui j'en ai découvert un nouveau :)

Cela modifiera le titre de la fenêtre de ligne de commande, mais créera également un fichier vide.

title > file.txt

Cela a fonctionné pour moi,

echo > file.extension

Voici une autre façon que j'ai trouvée aujourd'hui, j'ai eu des idées d'autres réponses mais ça a marché

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 afficherait un message d'erreur dans l'invite de commande qui,

xyz n'est pas une commande interne ou externe, un programme utilisable ou un fichier séquentiel.

Mais la chose étrange que j'ai trouvée était que le fichier est créé dans le répertoire même si la commande n'est pas une commande Windows standard.


En lisant les commentaires sur mon post, je dois admettre que je n'ai pas bien lu la question.

Sur la ligne de commande Windows, un moyen serait d'utiliser fsutil :

fsutil file createnew <filename> <size>

Un exemple:

fsutil file createnew myEmptyFile.txt 0

Voici ci-dessous la ligne de commande * nix.

touch filename

Cette commande modifie votre date de modification d'un fichier ou la crée si le fichier est introuvable.


En tant qu'utilisateur VIM sur Windows, j'ai échoué à trouver la réponse dans ce fil de la question.

Pour résoudre ce problème, installez d'abord le gvim .
Pendant l'installation, n'oubliez pas de cocher l'option "Créer des fichiers .bat pour l'utilisation de la ligne de commande" comme indiqué ci-dessous.

Certains fichiers bat comme vim.bat et gvim.bat seront installés sous C: \ Windows . Ajouter C: \ Windows au chemin du système si ce n'est pas fait.

Relancez le cmd.exe et tapez gvim empty_file.txt , vous lancerez le gvim pour éditer le fichier vide à partir de zéro. Si vous ne souhaitez pas quitter votre console "Invite de commandes", tapez vim empty_file.txt place.

Espérons que cette réponse peut aider ceux qui veulent lancer VIM à partir de Windows Invite de commandes lors de la création d'un fichier vide.


Encore une autre méthode qui crée un fichier de zéro octet:

break > "file.txt"

Essaye ça:

echo $null >> filename 

Voir: superUser


Essayez ceci: 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). Ensuite, il va exécuter la commande abc qui n'est pas une commande valide. De cette façon, vous avez obtenu un nouveau fichier vide portant le nom myFile.txt .


Exécutez CMD en mode admistrator et tapez ceci:

NUL > file_name.extention

ou vous tapez ceci

echo .> file_name.extention

Si vous voulez vraiment un fichier totalement vide, sans aucune sortie sur stdout, vous pouvez tricher un peu:

copy nul file.txt > nul

Il suffit de rediriger stdout vers nul, et la sortie de la copie disparaît.


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

P:\excecise> copy > Sample.txt

Voici une autre façon:

cd. > filename

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;
}

copie avec SomeFile.txt Entrée

Ctrl-Z Entrée


donc vous pouvez créer un fichier vide avec

'' > newfile.txt

Accédez au 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.


Sans détour, Luc Vu ou Erik Konstantopoulos point :

copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt

" Comment créer un fichier texte vide à partir d'un fichier batch? " (2008) indique é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

Cela donne une erreur:

'.' is not recognized as an internal or external command

Mais cette erreur est sur stderr. Et > redirige uniquement stdout, où rien n'a été produit.
D'où la création d'un fichier vide . Le message d'erreur peut être ignoré ici.

(Réponse initiale, novembre 2009)

echo.>filename

( echo "" mettrait "" dans le fichier! Et echo sans le '.' mettrait " Command ECHO activated " dans le fichier ...)

Remarque: le fichier résultant n'est pas vide mais inclut une séquence de lignes de retour: 2 octets.

Cette discussion pointe vers une vraie solution batch pour un vrai fichier vide :

 <nul (set/p z=) >filename

 dir filename
 11/09/2009  19:45                 0 filename
 1 file(s)                         0 bytes

Le " <nul " envoie une réponse nul à la commande set/p , ce qui provoque l'inversion de la variable utilisée. Comme d'habitude avec set/p , la chaîne à la droite du signe égal est affichée comme une invite sans CRLF.

Puisque ici la "chaîne à la droite du signe égal" est vide ... le résultat est un fichier vide.

La différence avec cd. > filename cd. > filename (qui est mentionné dans la réponse de Patrick Cuff et qui produit aussi un fichier de longueur de 0 octet) est que ce "bit de redirection" (le truc <nul... ) peut être utilisé pour renvoyer des lignes 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 à 12 octets: " hello world! ".


Fichier ouvert :

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

Sous 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 0kb

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.


call>file.txt

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


echo "" > filename

Je crois que cela fonctionne sur Windows / DOS, mais ma dernière expérience pratique avec l'un ou l'autre est assez récente. Je sais pertinemment que cela fonctionne sur tout système d'exploitation compatible POSIX .


echo.|set /p=>file

echo. supprimer le "Command ECHO activé"

|set /p= empêche newline (et le fichier est maintenant 0 octet)







command-line