Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1106 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Suppression d'un nombre de fichier donnée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Suppression d'un nombre de fichier donnée

n°1682697
coolkis
Posté le 06-02-2008 à 14:14:33  profilanswer
 

Bonjour, je voudrais supprimer dans un dossier un certain nombre de fichier passé en paramètre !
 
Voilà comment je procède
 
set repertoire=%1
set nombre=%2
 
for /f "skip=%nombre%" %%a in ('dir /o-d /b %repertoire%\*.*') do del /Q /F /A "%repertoire%\%%a"

 
Cependant je n'arrive pas à supprimer les fichiers qui contiennent des espaces !
 
Quelqu'un aurait il une idée svp ?

mood
Publicité
Posté le 06-02-2008 à 14:14:33  profilanswer
 

n°1682725
vttman2
Je suis Open ...
Posté le 06-02-2008 à 14:56:42  profilanswer
 

Peut être utiliser le dir /x
 
 /X          This displays the short names generated for non-8dot3 file
             names.  The format is that of /N with the short name inserted
             before the long name. If no short name is present, blanks are
             displayed in its place.


---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
n°1682774
coolkis
Posté le 06-02-2008 à 15:40:13  profilanswer
 

le dir /x ne marche pas !
Merci quand même...

n°1682791
vttman2
Je suis Open ...
Posté le 06-02-2008 à 15:54:24  profilanswer
 

T'es sous quel OS ?
 
et "dir /x ne marche pas " ça veut dire que l'option /x marche pas
chez toi  ou que tu n'as pas le résultat espéré ?


---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
n°1682826
coolkis
Posté le 06-02-2008 à 16:33:33  profilanswer
 

Je suis sous windows xp
En fait l'option "dir /x" ne m'obtient pas le résultat attendu effectivement !

n°1683081
vttman2
Je suis Open ...
Posté le 07-02-2008 à 07:58:38  profilanswer
 

Pour moi 2 solutions :
Soit tu passes en paramètres le nom de fichier  
par ex NEWTEX~1.TXT au lieu de New Text Document.txt
=>
07/02/2008  07:54                 0 NEWTEX~1.TXT New Text Document.txt
 
 
Soit tu essaies de mettre le fichier  en paramètre encadré par des ""
=>  
C:\>cd temp
 
C:\temp>dir new*
 Volume in drive C is SYSTEM
 
 Directory of C:\temp
 
06/02/2008  14:53                 0 New Text Document.txt
               1 File(s)              0 bytes
               0 Dir(s)   7,850,057,728 bytes free
 
C:\temp>del "New text Document.txt"
 
C:\temp>dir new*
 Volume in drive C is SYSTEM
 
 Directory of C:\temp
 
File Not Found
 
Bon je laisse maintenant a place aux spécialistes ;-)
 


Message édité par vttman2 le 07-02-2008 à 07:58:56

---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
n°1683239
coolkis
Posté le 07-02-2008 à 13:14:20  profilanswer
 

Je suis bien d'accord avec toi vttman2 pour les guillemets, l'ennuie c'est que dans ma boucle cela ne change rien !
 
for /f "skip=%nombre%" %%a in ('dir /o-d /b /N /X "%repertoire%\*.*"') do del /Q /F /A "%repertoire%\%%a" >>d:\fic.log

n°1695142
coolkis
Posté le 29-02-2008 à 15:24:39  profilanswer
 

Personne n'aurait une petite idée sur la question svp ?
 
Lorsque je passe par exemple la commande suivante :
 
for /f "skip=2" %%a in ('dir /o-d /b /N /X "D:\test\*.*"') do del /Q /F /A "D:\test\%%a"
 
avec la commande dir je récupère bien les 2 fichiers les plus récents du répertoire, cependant si le troisième fichier contient des espaces, il n'est pas supprimé !
 
Le problème je pense vient de la variable %%a qui prend en compte que le début du nom du fichier !

n°1695175
coolkis
Posté le 29-02-2008 à 16:20:46  profilanswer
 

Pour ceux que ça intéresse la solution est la suivante :
 
for /f "skip=2 tokens=6* delims=/ " %%a in ('dir /A-D /O-D D:\test\^|find "/"') do del /Q /F /A "D:\test\%%a %%b"


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Suppression d'un nombre de fichier donnée

 

Sujets relatifs
Cherche un script pour afficher un fichier csvSuppréssion de blanc dans une variable
[C++] Suppression d'un élément dans un vecteur -- RESOLU[Résolu] Remplacer des caractères par d'autres dans un fichier texte
Redirection d'une commande vers un fichierOuvrir un réseau ftp et compter le nombre de fichier
[c++]faire un grep dans un fichier (newbie style..)Suppression de doublons
EXCEL VBA Drag&Drop de fichier 
Plus de sujets relatifs à : Suppression d'un nombre de fichier donnée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR