Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] Suppression fichiers vides


strato

Messages recommandés

Bonjour à tous,
Je coince sur un problème de suppression de fichiers vides.
Ma GPAO crée des fichiers txt dont la taille est de 0 octet.
Sur windows serveur 2008R2 je cherche à créer un fichier .bat que je lancerai quotidiennement via une tâche planifiée et qui effacerai ces fichiers vides.
Pouvez-vous m'aider ?

Modifié par strato
Lien vers le commentaire
Partager sur d’autres sites

Bonjour strato,

 

Après moult et moult tests, j'ai trouvé ceci :

 

@echo on

dir D:\work\*.* | find " 0 "

pause

 

A coder dans un fichier BAT.

 

Notes :

1 - le répertoire D:\work\ est à remplacer par les répertoires concernés

2 - bien coder " 0 " (avec un blanc de chaque coté du zéro) : "blanc0blanc" pour ne prendre que la taille du fichier = 0 et non pas les zéros dans la date et/ou l'heure (2009 serait sélecté ainsi que 14.00 ce qui n'est pas bon)

3 - remplacer la commande DIR par DEL une fois satisfait du résultat.

 

A+

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Bon ben ça ne marche pas !

 

si je laisse *.* ma fenètre MS-dos s'ouvre, ne se ferme pas et n'a aucun effet.

Si je mets *.txt mes fichiers txt sont bien supprimés mais y compris les non vides, ce que je ne veux pas

donc je reste ouvert à toute solution proposée.

 

Ci-dessous mon script actuel

@echo on

d:

cd dossier1

cd dossier2

del *.txt /s | find " 0 "

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Strato,

 

Je ne comprends pas. Chez moi, ça marche.

 

Liste de fichiers TXT du répertoire Work :

 

D:\Work>dir *.txt

Le volume dans le lecteur D s'appelle DATA

Le numéro de série du volume est 7C45-AF85

 

Répertoire de D:\Work

 

01/08/2013 10:38 195 result_1.txt

31/07/2013 10:34 0 vide1.txt

31/07/2013 10:34 0 vide2.txt

31/07/2013 14:52 143 zerotxt.txt

4 fichier(s) 338 octets

0 Rép(s) 70 091 841 536 octets libres

 

Commande passée en BAT :

 

dir D:\work\*.txt | find " 0 "

pause

 

Résultat :

 

D:\Work>dir D:\work\*.txt | find " 0 "

31/07/2013 10:34 0 vide1.txt

31/07/2013 10:34 0 vide2.txt

 

D:\Work>pause

Appuyez sur une touche pour continuer...

 

Comme tu peux le voir, seuls les 2 fichiers TXT vides sont sélectés, pas les 2 autres.

 

Je creuse ça.

 

A+

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Essaie ceci dans le batch :

 

dir D:\wor
k
\*.* | find " 0 " > zerotxt.txt

 

for /f "to
k
en
s
=4 delim
s
= " %%i in (zerotxt.txt) do ECHO "%%i"

 

rem for /f "to
k
en
s
=4 delim
s
= " %%i in (zerotxt.txt) do del /F "%%i"

 

pau
s
e

Le fichier zerotxt.txt créé contient le résultat du DIR des fichiers vides. La boucle for...do va chercher le 4ème mot dans le fichier (nom du fichier vide) et l'affiche. Une fois que tout est validé et vérifié, tu peux enlever le dernier commentaire (REM) ou remplacer la commande Echo par DEL.

 

Une sauvegarde préalable du répertoire est fortement conseillée !

 

A+

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Merci pour test recherche et le temps passé, mais désolé ça ne fonctionne pas sur mon serveur

Il faut dire qu'il y a des tas de sous dossiers avec des espaces dans les noms de dossiers et de fichiers

Peut-être un lien de causalité :chpas:

Je subit ce problème depuis mon arrivée dans l'entreprise, et comme ce sont des fichiers du bureau d'étude

il est impossible de corriger les noms sans faire péter tous les liens de Solidworks.

Je cherche toujours, je te tiens au courant.

Si je trouve la soluce je la posterai ici pour en faire profiter la communauté.

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

il y a des tas de sous dossiers avec des espaces dans les noms de dossiers et de fichiers

Oui, mon batch ne marche pas avec les noms ayant des espaces. J'ai fait un test :

 

nom du fichier : Vide1.txt --> Vide1.txt sélectionné

nom du fichier : vide 1.txt --> fichier nommé vide sélectionné, mais il n'existe pas ! D'où pas de suppression.

 

Je n'ai pas essayé avec des répertoires avec des espaces dans le nom mais ça doit être du même topo.

 

Si je trouve autre chose, je le noterai aussi. Mais pour le moment, je n'ai pas d'idées...

 

Bon courage !

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...