[noob][Batch]Chercher puis supprimer un fichier?

Chercher puis supprimer un fichier? [noob][Batch] - Shell/Batch - Programmation

Marsh Posté le 23-03-2005 à 14:33:38    

:hello:
 
je voudrai trouver un fichier (disons "machin.txt" ) sur un lecteur (disons c:) puis le supprimer...
 
pour l instant j ai fai ca mais comme j y connai rien en batch ben, forcément, ca marche pas :D
 
dir c:\ machin.txt /S
del %
 
voila si quelqu un pouvai m aider merci d avance :)
(ou alors si vous avez pas envie de chercher pourriez vous au moin me donner un site ou je pourrai trouver ca :D)


Message édité par T'CHATTE le 23-03-2005 à 16:15:54
Reply

Marsh Posté le 23-03-2005 à 14:33:38   

Reply

Marsh Posté le 23-03-2005 à 15:01:33    

[:valentinorossi]

Reply

Marsh Posté le 23-03-2005 à 16:22:55    

ou si vous voulez le faire en VBS ca me derange pas de toute facon je maitrise aussi mal les 2 langages.... :D

Reply

Marsh Posté le 24-03-2005 à 23:46:57    

:bounce:

Reply

Marsh Posté le 25-03-2005 à 02:34:45    

Tu dois récupérer les chemins trouvés en les écrivant dans un fichier par exemple puis lire ce dernier ligne par ligne en appliquant la commande del. Les exemples sont pleins sur ce même forum.
 
Vois l'aide pour la redirection des sorties (pipelining).

Reply

Marsh Posté le 25-03-2005 à 08:39:27    

ah ok on est obligé d ecrire dans un fichier puis de lire les resultats dans ce fichier, on peut pas directement recupérer le nom du fichier. Donc pour ecrire dans un fichier ca je sais faire je pense, ca doit donner ca il me semble : dir c:\ machin.txt /S >> trux.txt qui doit, selon moi, me donner le chemin de tous les fichiers "machin.txt" du lecteur c: (sous dossiers compris). Jusque la c est bon?
par contre je sais pas encore lire dans un fichier ... :(  j vais essayer de trouver ca :)
 
merci pour ta reponse :jap:

Reply

Marsh Posté le 25-03-2005 à 08:54:16    

Oui jusque là c'est bon.
 
Mais tu peux éventuellement utiliser > au lieu de >> : connais-tu la différence des deux (création + écriture au lieu de concaténation) ? ET fais dir /b /s pour récupérer les chemins complets.
 
Pour la lecture, regarde la commande for et les exemples  dans l'Aide et Support.


Message édité par wackevat le 25-03-2005 à 08:55:13
Reply

Marsh Posté le 25-03-2005 à 08:59:42    

y a une difference entre > et >> ? :??:
moi je croyai juste que c etait des fautes de frappe! [:alvas]
en tout cas merci bien je vai voir avec le for comment ca marche :)

Reply

Marsh Posté le 25-03-2005 à 09:02:01    

Oui il y a une différence.
 
Exécute la commande dir avec > et >> chacun deux fois de suite et compare les 4 fichiers de résultat, tu comprendras :)
 
Bonne recherche et @+

Reply

Marsh Posté le 25-03-2005 à 09:25:21    

ah oui d accord je vois la difference :D (> efface et remplace le contenu du fichier, >> rajoute a la fin du fichier c est bien ca?).
 
bon aller j me lance a la recherche du for :D

Reply

Marsh Posté le 25-03-2005 à 09:25:21   

Reply

Marsh Posté le 25-03-2005 à 09:32:54    

j ai trouvé quelque chose mais y a untruc que je comprend pas :)
pourquoi je peux pas faire directement un truc de ce genre (je pense que c est faux mais dans le principe quoi :D) au lieu d ecrire le resultat de DIR dans un fichier puis de le lire ensuite : for %%a IN (machin.txt) DO DEL %%a  (la d après ce que j ai compris c est censé effacer tous les fichiers "machin.txt" non?)


Message édité par T'CHATTE le 25-03-2005 à 09:33:04
Reply

Marsh Posté le 25-03-2005 à 09:38:32    

Parfait en ce qui concerne la redirection :clap: :)
 
Pour le for, oui, tu peux faire comme ça aussi, mais n'oublie pas de faire une recherche récursive, parce que ta boucle ne fait que chercher dans le dossier actuel.

Reply

Marsh Posté le 25-03-2005 à 09:46:25    

heu... recherche recursive? :whistle:
keskessekssa? et komenkonfaissa? :D

Reply

Marsh Posté le 25-03-2005 à 09:54:45    

ah j ai trouvé ca sur un site mais je comprend pas trop ce que ca fait : for /r "c:\" %a in (machin.txt) do del /q "%a" pourquoi y a t il des "" autour de %a a la fin? a quoi sert le /r? et pourquoi ici il n y a qu un seul % pour %a alors que je croyai qu il en fallai 2? :)

Reply

Marsh Posté le 25-03-2005 à 10:01:00    

Alors dans l'ordre :
 
recherche récursive = parcours dans les sous-dossiers également.
 
/r --> Aide et support :)
 
Les quotes : aux cas où le chemin contient des espaces ou caractères spéciaux.
 
%a si tu exécutes la commande directement depuis l'invite de commande.
%%a depuis un batch.

Reply

Marsh Posté le 25-03-2005 à 10:02:45    

merciiiiiiiiiiiiiiiiiii :D
ca marche nikel! merci beaucoup! :)
 
bye :hello:


Message édité par T'CHATTE le 25-03-2005 à 10:02:58
Reply

Marsh Posté le 25-03-2005 à 10:04:09    

De rien :)
 
:hello:

Reply

Marsh Posté le 25-03-2005 à 10:08:46    

ah flute j ai oublié de te demander un dernier truc :D
si je veux supprimer 2 fichiers je suis obligé de faire 2 commandes distinctes
for /r "c:" %%a in (machin.txt) do del /q %%a
for /r "c:" %%b in (bidul.jpg) do del /q %%b
 
ou je peux faire les 2 en meme temps?

Reply

Marsh Posté le 25-03-2005 à 10:20:01    

Tu peux faire :
... in (machin.txt bidule.jpg) do ...

Reply

Marsh Posté le 25-03-2005 à 10:23:25    

ah ok je pensai pas que c etait si simple :D
 
mille mercis encore :jap:

Reply

Marsh Posté le 25-03-2005 à 10:28:03    

:)
 
@+

Reply

Marsh Posté le 30-03-2005 à 18:46:51    

rebonjours :hello: :D
 
alors maintenant j aimerai bien supprimer un fichier dont la taille est superieure a xx Mo.
 
J ai fai ca mais comme d habitude ca marche pas :D
 
for /r "c:" %%a in (*.*) do if %%~za>xx (del /q %%a)
 
apparament c est le > qu il digere pas vu que c est censé etre utilisé pour un flux de donné mais je voi pas trop comment faire autrement :(

Reply

Marsh Posté le 30-03-2005 à 19:14:08    

Re- :hello: :)
 
Regarde l'aide de la commande if pour les opérateurs de comparaison.
 
Fais aussi attention à l'unité de mesure pour le poids des fichiers (octets ? Mo ?)
 
Et n'oublie pas non plus les quotes pour les chemins avec espaces.
 
Tip : au lieu de faire  
del ...
direct, remplace par
echo del ...
pour vérifier que tu vas supprimer juste ce qu'il faut.


Message édité par wackevat le 30-03-2005 à 19:14:22
Reply

Marsh Posté le 30-03-2005 à 20:55:23    

wow merci t es toujours la quand il faut toi :D
bon j ai cherché pour le if et les operateur ... le if j ai trouvé mais alors pour les operateur a par le == j ai pas trouvé pour faire "superieur" ou "superieur ou egal" :(

Reply

Marsh Posté le 30-03-2005 à 21:02:28    

Si si c'est toujours dans l'aide de if :)
 
Copier/coller du mien (en anglais hein, masi chez toi tu l'auras en fr) :

Citation :

CompareOp  
Specifies a three-letter comparison operator. The following table lists valid values for CompareOp. Operator Description  
EQU equal to  
NEQ not equal to  
LSS less than  
LEQ less than or equal to  
GTR greater than  
GEQ greater than or equal to  

Reply

Marsh Posté le 30-03-2005 à 21:39:48    

ouiiiiiiiiiiiiiiiiii :D
 
donc pour ceux que ca intéresse (onsait jamais :D) ca donne ca :
for /r "C:" %%a in (*.*) do if %%~za GEQ 400000000 (echo %%a)
donc la ca affiche tous les fichiers dont la taille dépasse 400Mo (enfin ca fait pas tout a fait 400Mo mais bon... :D)
 
donc une fois encore merci infiniment nglechau :jap:

Reply

Marsh Posté le 30-03-2005 à 23:26:19    

Avec plaisir :)
 
A prochaine :lol:
:hello:

Reply

Marsh Posté le 31-03-2005 à 12:21:33    

je te di pas a bientot (enfin j espere :whistle:) mais je pense que l on se reverra... :D
 
:hello:

Reply

Marsh Posté le 31-03-2005 à 16:21:08    

Mais pourquoi pas ? :)
 
Ca fait plaisir de papoter avec des gens comme toi : on leur file un indice, et ils se débrouillent super bien :jap:

Reply

Marsh Posté le 31-03-2005 à 22:07:24    

et ca fait plaisir de tomber sur des gens comme toi qui donnent pile l indice qui faut pour nous mener au bout :)

Reply

Marsh Posté le 06-04-2005 à 20:58:58    

si tu veux un bon soft gratos pour les batch
tu peux aller chez astase.com et downloader powerbatch
il a un super tuto  
 
et sur ton windows dans l'aide tu tapes cmd
 
fait attention avec les batchs
ce qui est valable pour un os ne l'est pas forcément sous les autres
 
 
 

Reply

Marsh Posté le 06-04-2005 à 22:56:59    

merci beaucoup je vais tester ca :jap:
 
EDIT : Whaou!!! le tuto a l air sacrement complet!!! merci encore :jap:


Message édité par T'CHATTE le 06-04-2005 à 22:59:03
Reply

Marsh Posté le 16-09-2010 à 15:52:53    

Bonjour, et pour scanner l'ensemble d'un disque pour un nom de répertoire, fichier distinct et le supprimer, comment faire ?
ex : supprimer tous les .picasaoriginals


Message édité par grosbin le 16-09-2010 à 16:04:01

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed