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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Spprimer une "liste" de repertoires ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Spprimer une "liste" de repertoires ?

n°1375915
arnomedia
Posté le 27-05-2006 à 10:28:31  profilanswer
 

Sltà tous ?
 
J'aimerais ajouter à un ptit fichier batch que je me suis fait il'y a qq temps, une commande qui supprimerait tous les repertoire de type "$NtUninstallKB891122$". J'arrive à supprimer l'attribut "caché" de facon générique ($NtUninstallKB*) mais il m'est impossible de supprimer en une oprération toute une "liste" de répertoires. J'ai essayé aussi un truc du genre avec RD => $NtUni~1 mais ça ne fonctionne pas non plus.
 
J'ai cherché longtemps sur google mais là je sèche et j'aimerais bien arriver à mes fins. HELPPP ! ;)
 
merci d'avance


Message édité par arnomedia le 27-05-2006 à 10:30:15
mood
Publicité
Posté le 27-05-2006 à 10:28:31  profilanswer
 

n°1375960
wackevat
Posté le 27-05-2006 à 13:09:35  profilanswer
 

Code :
  1. for /f %%i in ('dir /a:d /b %SystemRoot%\$NtUninstallKB*') do (echo %%i)

n°1376184
arnomedia
Posté le 28-05-2006 à 13:55:01  profilanswer
 

merci c sympa ! par contre je n'y comprends pas grand chose. ça devient compliqué là... je ne reconnais aucune commande horsmis %systemroot% et DIR. Je vais qd m essayer de comprendre.

n°1376206
arnomedia
Posté le 28-05-2006 à 15:05:32  profilanswer
 

wackevat a écrit :

Code :
  1. for /f %%i in ('dir /a:d /b %SystemRoot%\$NtUninstallKB*') do (echo %%i)



 
J'ai toujours le m problème :( j'ai remplacé la commande

Code :
  1. do (echo %%i)

par :
 

Code :
  1. do (RD /S %SystemRoot%\\$NtUninstallKB* %%i)

Je n'ai pas mis volontairement la commande /Q pour voir le détail et effectivement cmd.exe me propose de supprimer tous les répertoires $NtUninstallKBxxxxxx$ les un apres les autres mais j'ai la même erreur qu'auparavant, a savoir "Syntaxe du nom de fichier, de répertoire ou de volume incorrecte."
 
Sinon j'ai consulté FOR /? et j'aimerais bien que quelqu'un puisse m'éclairer sur l'option %i car je ne comprends pas bien à la ligne de commande.
 
Donc pour le moment je sèche encore... merci d'avance pour votre aide.


Message édité par arnomedia le 28-05-2006 à 15:06:58
n°1376275
wackevat
Posté le 28-05-2006 à 18:58:01  profilanswer
 

Attends, quand tu laisses  
echo %%i
ça te donne quoi ?
 
Ca explique le %%i, et par conséquent l'erreur que tu as eue avec rd, non ? ;)

n°1377160
arnomedia
Posté le 30-05-2006 à 06:16:32  profilanswer
 

ah ben si je laisse echo %%i ça marche nikel ;) cmd m'affiche tous les dossiers $NtUninstallKBxxxxxx$ les uns à la suite des autres. mais je ne comprend rien à i
 
merci d'etre revenu.

n°1377162
wackevat
Posté le 30-05-2006 à 07:01:47  profilanswer
 

Et malgré ça tu ne comprends pas ce que présente %%i ? :o
 
for /?
à l'invite de commandes pour plus d'infos.

n°1377544
arnomedia
Posté le 30-05-2006 à 14:09:52  profilanswer
 

bon je trouve que je me prends suffisement la tete régulièrement pour arriver à mes fins ds le vaste monde de l'informatique sans avoir à jouer aux devinettes mais puisque tu me le demandes j'ai envie de dire que puisque i est suivi de in au debut de ligne de commande, que i est un peu comme un "raccourci".
Traduction grossière : établir (set) que i represente X chemin et (echo) afficher i donc se qu'il represente. C ça, docteur ?
 
En attendant je ne vois pas pourkoi, ds ce cas là, ça ne fonctionne pas avec RD
 
Bon désolé j'suis un peu de sale humeur ;)


Message édité par arnomedia le 30-05-2006 à 14:13:47
n°1377571
wackevat
Posté le 30-05-2006 à 14:35:14  profilanswer
 

C'est pas grave. On continuera ici quand tu reviendras en bonne humeur.

n°1377682
arnomedia
Posté le 30-05-2006 à 16:56:52  profilanswer
 

C la seule méthode pour utiliser un répertoire avec une terminaison générique ? Je veux dire "toto*" pour "totolemalin" par exemple.
 
ce qui est bien, c que je ne suis jamais trop longtemps de mauvaise humeur ;) je ne suis pas patient désolé mais obstiné ça oui. ça compense :)

mood
Publicité
Posté le 30-05-2006 à 16:56:52  profilanswer
 

n°1377713
wackevat
Posté le 30-05-2006 à 17:32:00  profilanswer
 

rmdir n'accepte pas les wildcards, d'où l'utilisation de la variable i pour récupérer les vrais noms :)

n°1378429
arnomedia
Posté le 31-05-2006 à 21:52:08  profilanswer
 

wildcards... c koi ça ? les noms génériques ? Le plus simple pour toi comme pour moi serait que tu me donne la ligne de commande approprié si tu le veux bien puisqu'il me semble que tu as bien compris mon "projet". Si tu en as envie je serais ravis que tu m'en explique le fonctionement. J'ai appelé ce Batch "Nettoyage System (C)" il me vide le dossier temp de l'utilisateur encours, le dossier temp de windows, le dossier document recent, les fichiers LOG ds windows et donc si possible j'aimerais qu'il puisse supprimer aussi les dossiers compressés de sauvegardes des mises à jours de windows. Voilà.
 
a+ j'espère.

n°1378548
wackevat
Posté le 01-06-2006 à 08:15:43  profilanswer
 

arnomedia a écrit :

wildcards... c koi ça ? les noms génériques ?


http://en.wikipedia.org/wiki/Wildcard_character
 

arnomedia a écrit :

Le plus simple pour toi comme pour moi serait que tu me donne la ligne de commande approprié


:o

n°1378683
arnomedia
Posté le 01-06-2006 à 11:39:30  profilanswer
 

putain si l'homme avait tjrs procédé de la m façon, on en serait encore à l'age de pierre. Enfin merci pour le peu d'élément que tu m'a fourni.
 
Tu dois excéler dans toutes les sciences du monde pour avoir cette attitude débile typique de l'image que se font les gens de l'abruti d'informatitien qui prends bien garde de garder rien que pour lui le peu de chose qu'il connait.
 
Quand tu irra voir ton medecin, demande lui se que tu as, il te réponderra peut-etre...
- vous toussez
- oui, et alors ?
- allez voir dans l'Encyclopédie médicale
 
Alors garde ta science et tes "wildcards" c bien, tu as de l'avenir mon gars. Je vais m être sympa, commence par adapter ton vocabulaire à ton interlocuteur, c la base.
 
Salut

n°1378725
wackevat
Posté le 01-06-2006 à 12:14:46  profilanswer
 

Je suis chiante, je sais, et j'assume !!  
 
1- La définition de wildcard est très claire dans le Wiki  
2- J'ai donné la réponse à ton problème dès mon premier message, mais à part t'énerver tout le temps puis m'insulter, tu n'as pas ou très peu cherché à comprendre. Pourtant, même la commande pour avoir l'aide, je l'ai donnée et tout y était expliqué.
3- Si je voulais tout garder pour moi, je n'aurais pas intervenu ne serait-ce qu'une seule fois.
 
Enfin, bref !

n°1378762
arnomedia
Posté le 01-06-2006 à 12:48:25  profilanswer
 

1- OK mais g pas dit que je n'avais pas compris
 
2- si tu m'avais donner la réponses à ton premier post, il n'y en aurait eu que 3. Le troisième étant pour te remercier. hors tu me parle de "echo" alors que je ne cherche pas à afficher lles dossiers mais à les supprimer. Donc qd on me demande X qestion je réponds à X et non à Y et voir le malheureux chercher X comme un con. Qd je viens sur le forum poser une question, c que je n'ai plus la patience de chercher par moi m, donc les devinettes, oui ça m'enerve. FOR /? je l'ai fait dès ton premier post et j'ai essayé des trucs pendant plus d'une heure. relis le 4eme post si tu veux verrifier. Bon et puis je ne suis pas nul en informatique, la prog je m'y met depuis peu c tout.
 
3- ?

Citation :

arnomedia a écrit :
 
Le plus simple pour toi comme pour moi serait que tu me donne la ligne de commande approprié
 
:o


Message édité par arnomedia le 01-06-2006 à 13:05:37
n°1378784
arnomedia
Posté le 01-06-2006 à 13:11:01  profilanswer
 

for /f %%i in ('%SystemRoot%\$NtUninstallKB*') do (RD /S %%i) ça ne fonctionne pas non plus

n°1378789
arnomedia
Posté le 01-06-2006 à 13:17:24  profilanswer
 

for /f %%i in ('dir /a:d /b %SystemRoot%\$NtUninstallKB*') do (RD /S %%i) ça non plus

n°1380138
pascale73
Posté le 02-06-2006 à 18:26:29  profilanswer
 

Pour décomposer un peu la démarche tu peux passer par un fichier texte transitoire
(uninstall.txt)  
 
dir /a:_dh /b "%SystemRoot%\$ntuninstallK*.*">"%temp%\uninstall.txt"
 
j'ai ajouté _ pour éviter les :d ( à supprimer dans le code final)
puis isoler chaque ligne à l'aide de "delims"
Et surtout, ne pas oublier de mettre des guillemets.
 
for /f "delims=" %%i IN ('type "%temp%\uninstall.txt"') do (
 rd /s "%SystemRoot%\%%i"
 pause
)
ATTENTION toutefois à ce que la boucle se termine correctement !!!  
car si la variable est vide c'est le répertoire Windows qui va être effacé  
(RD /S "c:\windows\")
faire des tests avec la commande echo...
 

n°1380194
arnomedia
Posté le 02-06-2006 à 20:42:44  profilanswer
 

en fait pour une fois je crois que je vais laisser tomber :( je pensais pouvoir supprimer toute une liste de repertoires plus simplement. je n'ai pas assez de connaissance ds ce domaine pour arriver à mes fins. j'ai pratiquement l'impression de me retrouver devant un text en chinois.
je suis un peu deg.
 
merci qd m c sympa

n°1384204
arnomedia
Posté le 09-06-2006 à 04:32:43  profilanswer
 

C koi "delims=" ?
Pourquoi utiliser la commande DIR ?
Pourquoi utiliser la variable %temp% ?
Je ne comprends pas pourquoi il faut créer un autre fichier texte.
 
Encore beaucoup d'intérogations en somme...


Message édité par arnomedia le 09-06-2006 à 04:35:08
mood
Publicité
Posté le   profilanswer
 


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

  Spprimer une "liste" de repertoires ?

 

Sujets relatifs
Upload de plusieurs fichiers / repertoires(VBA Excel)recopier liste perso dans une formule
réinitialiser une liste déroulanteIN / NOT IN sur Tris Liste -> Souci!
changer la couleur de texte d'une liste deroulante[ASP] Valeurs d'une liste déroulante persistantes ?
Encore un proble (un autre)...liste de sous dossiers->plantage word[ACCESS/VBA] Selection multiple auto dans une zone de liste
[FORMULAIRE]Liste deroulante à choix multiples!liste deroulante
Plus de sujets relatifs à : Spprimer une "liste" de repertoires ?


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