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

  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Commande pour supprimer le contenu d'un dossier (fichiers + dossiers)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Commande pour supprimer le contenu d'un dossier (fichiers + dossiers)

n°2380645
tilo69
Posté le 11-04-2006 à 17:06:10  profilanswer
 

Bonjour,
 
Je cherche la commande sous Windows XP pro qui permet de vider un répertoire (fichier + répertoires et sous-répertoire) sans le supprimer lui-même.
 
- "del" n'efface que les fichiers.
- "rd" et "rmdir" veulent supprimer le répertoire racine.
 
Ca m'énerve  :fou: car sous W9x, deltree ou del (je ne sais plus), avec les bonnes options permettaient de faire ce genre de chose.
 
J'ai l'impression que ce que je veux est d'une simplicité enfantine mais je bloque comme un demeuré.
 
Si quelqu'un pouvait me donner le tuyau, je pourrais enfin me détendre.
 
MERCI  :jap: .

mood
Publicité
Posté le 11-04-2006 à 17:06:10  profilanswer
 

n°2380660
tilo69
Posté le 11-04-2006 à 17:17:27  profilanswer
 

Le pb c'est qu'il s'agit de répertoire système ("Bureau" et "Tempory Internet files" entre autres).

n°2380673
tilo69
Posté le 11-04-2006 à 17:20:27  profilanswer
 

Citation :

Humm, la commande deltree foo a simplement été remplacée par rmdir /s foo. Deltree ne conservait pas non plus le fichier racine à la connaissance.


 
Alors c'est "del" qui permettait de conserver le dossier racine.

n°2380677
tilo69
Posté le 11-04-2006 à 17:26:00  profilanswer
 

Je voudrais un truc dans ce goût là pour me permettre de vider les fichiers temporaires d'Internet Explorer et de nettoyer les Bureaux des PC du réseau dont je m'occupe (Réseau Novell). Via un Batch.
 
Le seul Hic c'est que "rd" veut supprimer le répertoire "bureau".
 
rd /s /Q "\\****\c$\Documents and Settings\****\Bureau\"

n°2380717
tilo69
Posté le 11-04-2006 à 18:11:45  profilanswer
 

Citation :

Supprimer tous les fichiers et dossiers du bureau ? Quelle drôle d'idée...


 
L'idée, c'est d'apprendre aux élèves de l'établissement dans lequel je travaille à enregistrer leur travail dans leur répertoire "Mes Documents" qui pointe sur un lecteur réseau (et donc sur un serveur qui est sauvegardé régulièrement), et non en local. D'autant plus que lorsque le temps me manque et qu'un PC merde, je restaure une image Ghost.
 
 

Citation :

Pour les fichiers temporaires, il existe l'outil Clean Manager ( cleanmgr.exe ) qui permet de les supprimer.


 
Je connais mais peut-on l'utiliser par le biais du réseau ?

n°2380744
tilo69
Posté le 11-04-2006 à 18:13:59  profilanswer
 

Citation :

Et juste pour information, la commande del, sous Windows 95/98/2K/XP ne sait pas supprimer les sous-dossiers.


 
Demain j'aurais retrouver la ligne de commande qui me permettait de supprimer le contenu d'un dossier, fichiers et sous-répertoire compris.
Je ne peux pas ce soir car je n'ai pas de W9x sous la main.

n°2381257
tilo69
Posté le 12-04-2006 à 12:20:36  profilanswer
 

Citation :

Deltree ne conservait pas non plus le fichier racine à la connaissance.


 
Sous W9x, la commande :
deltree /y c:\dossier\
 
efface sans confirmation tout le contenu de "dossier" (fichiers, sous-répertoire + contenu des sous-répertoire) sans effacer le dossier racine "dossier".
 
Je cherche un équivalent sous Windows XP.
 
Si quelqu'un a une idée !!!  :bounce:

n°2381261
tilo69
Posté le 12-04-2006 à 12:22:55  profilanswer
 

deltree /y c:\dossier
 
Cette ligne par contre efface "dossier".

n°2381279
tilo69
Posté le 12-04-2006 à 12:42:37  profilanswer
 

C'est ce que je suis en train d'essayer.
 
Merci de t'intéresser à mon problème.  :jap:

n°2381300
tilo69
Posté le 12-04-2006 à 13:02:59  profilanswer
 

Bon ben ça marche.
J'ai récupéré la commande DELTREE à cette adresse (pour ceux qui ne l'ont pas sous la main) :
 
http://gilles.ronsin.free.fr/#deltree  :jap:  
 
N'oubliez pas de mettre le "\" si vous ne voulez pas que le dossier racine soit supprimé (ex : deltree /y c:\dossier\)
 
Merci à piwu qui est quand même le seul que ce pb n'a pas rebuté.
 
 
 
 

mood
Publicité
Posté le 12-04-2006 à 13:02:59  profilanswer
 

n°2381310
LoDeNo
Bicourge
Posté le 12-04-2006 à 13:10:42  profilanswer
 

Nan nan, on cherche aussi, mais on trouve pas ;)
 
Sinon, si jamais tu as des commandes très complexe à passer en batch, je te conseille de t'intéresser à Cscript (fourni avec wxp). On fait ce qu'on veut avec ça, mais il faut programmer c'est sûr.
 

n°2381316
Wolfman
Modérateur
Lobo'tomizado
Posté le 12-04-2006 à 13:15:13  profilanswer
 

Un truc qui parait tout con mais bon.
Pourquoi ne pas faire ça avec Robocopy ? :D
 
Mise en situation :
Tu as ton dossier C:\MonDossier que tu souhaites vider régulièrement.
Tu te crées un dossier C:\Reference, que tu conserves toujours vide.
Ton dossier C:\MonDossier se remplit, etc. etc.
Et pour nettoyer, tu utilises la ligne de commande suivante :
robocopy C:\Reference C:\Mondossier /S /E /MIR
 
Et hop, magique...ton dossier est intégralement vidé :whistle:

n°2381343
tilo69
Posté le 12-04-2006 à 13:29:55  profilanswer
 

Citation :

je te conseille de t'intéresser à Cscript


Bon ben je mis met parce que j'en ai marre de bidouiller avec des batchs et puis ça à effectivement l'air top une fois qu'on maîtrise.
Je suis sur ce site : http://www.interclasse.com/articles/scripts.php pour l'instant et il va falloir que je trouve la documentation complète du langage.
 

Citation :

Pourquoi ne pas faire ça avec Robocopy ?


Je vais peut-être avoir l'air idiot mais je ne connais pas "robocopy".

n°2381360
Wolfman
Modérateur
Lobo'tomizado
Posté le 12-04-2006 à 13:38:14  profilanswer
 

Robocopy est un outil de copie de fichiers de Microsoft. Tu dois pouvoir le trouver facilement. C'est certes une utilisation détournée, mais ça me parait plus simple que de faire des scripts à tire-larigau.

n°2381368
tilo69
Posté le 12-04-2006 à 13:40:59  profilanswer
 

je jetterais un coup d'oeil.
Thanks.

n°2381382
piwu
Posté le 12-04-2006 à 13:46:37  profilanswer
 

cscript c'est le nom du moteur. Le langage est appelé le Windows Scripting Host (WSH) utilisant principalement le Visual Basic Script (VBS). Et il est vrai que c'est 100x plus puissant que le batch.
 
La meilleure documentation pour commencer à comprendre ce langage que je connaisse se situe à l'adresse suivante : http://www.descodev.com/documentat [...] ation.aspx


Message édité par piwu le 12-04-2006 à 13:48:03
n°2381410
tilo69
Posté le 12-04-2006 à 13:59:13  profilanswer
 

Nickel, merci pour l'adresse : je vais commencer à potasser et j'ai l'impression que j'ai du pain sur la planche (jamais appris de langage et autodidacte).
Mais ça a l'air d'en valoir le coup.

n°2381422
phosphorel​oaded
Posté le 12-04-2006 à 14:06:22  profilanswer
 

tire-larigot [:aloy]
 
niarf, tordue comme je les adore la solution avec Robocopy :D

n°2382501
LoDeNo
Bicourge
Posté le 13-04-2006 à 16:44:17  profilanswer
 

Il va falloir que je jette un coup d'oeil à robocopy moi ....
 
 
 
Histoire de te donner un avant goût de CSCRIPT, voici un exemple.

Le script est le suivant  : (dans un fichier creerbat.vbs par exemple)

 
'--------------------------------------------------------------------------------
' Fichier SCRIPT
'   Executer suivant la syntaxe : cscript creerbat.vbs
'
' Crée le fichier BOB.BAT à partir des fichier AGENTS.TXT et MESSAGE.TXT
'--------------------------------------------------------------------------------
 
 
'--------------------------------------------------------------------------------
' Déclaration des variables
'--------------------------------------------------------------------------------
 
dim i
dim noms
Const ForReading = 1
COnst ForWriting = 2
Const TristateUseDefault = -2
Dim fso
Dim FM, FichierMessage
Dim FA, FIchierAgents
Dim FC, FichierCommande
 
Set WshShell = WScript.CreateObject("WScript.Shell" )
 
 
'--------------------------------------------------------------------------------
' Récupération du Message dans message.txt
'--------------------------------------------------------------------------------
 
Set fso = CreateObject("Scripting.FileSystemObject" )  
Set FichierMessage = fso.GetFile("message.txt" )
Set FM = FichierMessage.OpenAsTextStream(ForReading, TristateUseDefault)
 
Message=FM.Readline
 
FM.close
 
 
'--------------------------------------------------------------------------------
' Récupération de la liste des agents dans AGENTS.TXT
'--------------------------------------------------------------------------------
 
Set FichierAgents = fso.GetFile("Agents.txt" )
Set FA = FichierAgents.OpenAsTextStream(ForReading, TristateUseDefault)
 
for i=1 to 7
 if FA.AtEndOfStream = TRUE then
  i=7
 else
  Agents1 = Agents1+" "+FA.ReadLine  
 end if
next
 
deuxlignes=FALSE
 
for i=8 to 14
 if FA.AtEndOfStream = TRUE then
  i=14
 else
  Agents2 = Agents2+" "+FA.ReadLine
  deuxlignes=TRUE
 end if
next
 
 
 
FA.Close
 
 
'--------------------------------------------------------------------------------
' Création de la commande SEND et du fichier BOB.BAT
'--------------------------------------------------------------------------------
 
commande1="send """+message+""""+Agents1
commande2="send """+message+""""+Agents2
 
Set FichierCommande = fso.GetFile("bob.bat" )
Set FC = FichierCommande.OpenAsTextStream(ForWriting, TristateUseDefault)
 
 
FC.Writeline("cx .users.dd14.dr14.mintrav" )
FC.Writeline(commande1)
FC.Writeline(commande1)
if deuxlignes = TRUE then
 FC.Writeline(commande2)
 FC.Writeline(commande2)
 end if
FC.close
 
 
'--------------------------------------------------------------------------------
' Fin du script
'--------------------------------------------------------------------------------
 
 
A partir des fichiers suivants :
 
AGENTS.TXT (fichier contenant des noms de personnes, ici a1, a2 ...)
a1
a2
a3
a4
a5
a6
a7
a8
 
MESSAGE.TXT (fichier contenant un message text)
voila un test !
 
Le script génère ce fichier : BOB.BAT
cx .users.dd14.dr14.mintrav
send "voila un test !" a1 a2 a3 a4 a5 a6 a7
send "voila un test !" a1 a2 a3 a4 a5 a6 a7
send "voila un test !" a8
send "voila un test !" a8
 
 
Pour lancer le script, la commande est :
cscript creerbat.vbs


Message édité par LoDeNo le 13-04-2006 à 16:46:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Commande pour supprimer le contenu d'un dossier (fichiers + dossiers)

 

Sujets relatifs
Impossible d'ajouter ou supprimer des machines dans un domaineFichiers *.MSO Existe t-il un viewer ?
Connaitre utilsateur du dossier partagéSynchroniser fichiers/dossiers entre pc
Ouverture d'un raccourci dossier en mode "Dossiers"supprimer une icone du menu démarrer de XP (partie droite)
[Winrar 3.30] Apres extraction j'ai 2 dossiers au lieu d'un seul 
Plus de sujets relatifs à : Commande pour supprimer le contenu d'un dossier (fichiers + dossiers)


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