2009-10-15 8 views
1

Comment lire un répertoire entier et supprimer des fichiers avec une extension spécifique? J'ai une application qui lit le contenu d'un dossier spécifique et renvoie une erreur si un fichier est manquant, mais il ne vérifie pas si les fichiers sont valides, donc je veux les rendre NULL pour contourner les contrôles.Comment vider des fichiers en lot

Répondre

4

si par « découpage », vous entendez les tronquer, vous pouvez utiliser les éléments suivants:

for /f %%a in ('dir *.[my ext]') do (echo . > %%a) 

Notez que le double % doit être utilisé dans un fichier batch. Si vous exécutez ceci à partir d'une ligne de commande, utilisez un seul %.

EDIT:

à intégrer l'amélioration de @Loadmaster:

for /f %%a in ('dir *.[my ext]') do (type nul > %%a) 
+1

Une amélioration serait: 'type NUL> %% a' –

0

D'abord, créez un fichier vide. Appelez-le "vide". Vous pouvez utiliser le Bloc-notes pour simplement enregistrer un fichier vide, par exemple.

Supposons que l'extension spécifique est ".xyz". Exécutez ceci:

for %f in (*.xyz) do copy /y blank %f 

La boucle for définit la variable "% f" à tour de rôle pour chaque nom de fichier et exécute la commande de copie. La commande copy copie le fichier vide au-dessus de chaque fichier correspondant.

Par ailleurs, vous pouvez en savoir plus sur la commande for en utilisant la commande help:

help for 
+0

Ou: 'copier/y NUL% f' –

0

Vous pouvez rendre le fichier batch prendre le filtre et il est beaucoup plus utile.

@for %%i in (%1) do cd.>%%i 

Utilisation (si vous l'appelez empty.bat):

empty *.c 
Questions connexes