j’espère que mon poste se trouve dans la bonne rubrique…
situation de départ :
j’installe régulièrement windows pour des copins… Et tres souvant apres le formatage des données sont perdu car elles sont dispercées un peu partout dans le c:
idée :
mon idée est de créer un .bat qui rechercherai tous les .doc,. xls,.odt… sur c: et les copierai dans un dossier de mon choix.
j’ai essayé avec la commande dos xcopy mais comme je suis pas super fortiche je suis obligé de taper tous les dossier “classique” de windows ou les personnes rengent des données
si il y a une solution j’aimerai bien arriver a créer ce bat avec votre aide
avec xcopy /s tu copies les répertoires et ses répertoires, donc en l’appliquant à la racine, tu devrais t’en sortir
Sinon, tu utilises une boucle FOR /R et la commande copy
Une condition quand même dans les deux cas : il faut que ton répertoire de destination soit sur un autre disque, sinon tu risques de boucler indéfiniment
Tu n’y arriveras pas en une seule fois : il faut que tu fasses un fichier batch avec autant de lignes que d’extensions à traiter.
Le mieux est de placer le .bat à la racine de ta cible. La syntaxe est alors :
@echo off
xcopy /s c:.doc
xcopy /s c:.xls
xcopy /s c:*.reg
etc.
Pour la deuxième syntaxe @echo off
for /R c:\ %%i in (.doc) do copy %%i
for /R c:\ %%i in (.xls) do copy %%i
for /R c:\ %%i in (*.reg) do copy %%i
etc.
Edit :
Les deux méthodes ne sont pas équivalentes. Dans le premier cas, tu reconstitues toute l’arborescence d’origine, dans le second, tous les fichiers sont dans le meme répertoire (D : \ ) d’où risque d’écrasement en cas d’homonyme
Edité le 04/11/2007 à 21:22
ps : j’ai juste un problème la cmd me demande pour chaque création de répertoire une confirmation c’est un peu lourd s’il y a plusieurs go de données… Donc si vous avez la solution le .bat serai parfait pour moi !
Accessoirement, tu as des utilitaires de backup pour ça. C’est peut-être plus pratique, et faut avouer qu’en général tu mets tout dans un dossier (Mes documents, Bureau, etc).
Pour ton problème, il peut se résoudre en créant ton dossier avant. Tu dois pouvoir “ruser” et faire une fonction avec des label, genre :
pour connaitre les options d’une commande c’est le nom de la commande suivie de /?
donc si tu tapes
xcopy /?
tu auras toutes les options de cette commande et tu verras que pour répondre à ta question c’est l’option /I qui convient
Si tu utilises ce .bat, fais bien attention d’être positionné à la racine de C avant de passer à D comme lecteur par défaut.
Sinon tu ne prendras que les sous répertoire de la branche dans laquelle tu te trouves.
D’où l’intérêt de forcer le programme à travailler depuis la racine [b]C : [/b] (sans les espaces, bien entendu)
Pour ce qui est de la confirmation, /I devrait résoudre ton problème, sinon essaie d’y ajouter /Y
non je ne veux pas d’utilitaires car aucun ne fait 2ko sans aucune installation. Et puis il y a le plaisir de réaliser un petit truc a soit qui n’est ma fois pas de la programmation mais si j’arrive a faire tourner mon idee je vais gagner un max de temps de plus avec les logiciels de telechargement beaucoup de données peuvent se trouver dans progam files…