Bonjour a tous
je viens de trouver ce forum qui à l'air top et qui va surement pouvoir m'aider, c'a fait quasi 10 ans que je n'ai pas fait un script et j'avoue que j'ai tout perdu
je cherche un script qui me permettrait de trier un contenu dans mon HDD
je m'explique :
j'ai un répertoire 0000000000000000 (j'appellerai niveau 1)
dedans des sous répertoires avec des noms de 8 caractères en hexadécimal type 547A108E (niveau 2)
et encore dans ceux là, des sous répertoitres d8 8 caracteres en hexa également. (niveau 3)
ce que je voudrai c'est pouvoir copier tous les répertoires de niveau 3 et leur contenu vers un répertoire de mon choix, ou meme vers 0000000000000000/tri
quelqu'un saurait-il m'aider a faire ca? ca serait vraiment super sympa et ca me sauverai
merci d'avance si vous acceptez de m'aider
Script pour réduire une arborescence
Modérateur : WIN32-[GG]
-
- King Of Batch
- Messages : 66
- Enregistré le : 06 juil. 2010 17:37
- Contact :
Re: Script pour réduire une arborescence
hello,
je crois que j'ai ce que tu veux:
Il faut que tu remplace "[[disque]chemin]" par le chemin du dossier.
et que tu remplace le 29 de par le nombre de caractères que contiennent le chemin du dossier de niveau 1 et des dossier de niveau 2
EX: c:\bidule\45A56985\ contient 19 caractères.
@+
je crois que j'ai ce que tu veux:
Code : Tout sélectionner
@echo OFF
SETLOCAL enabledelayedexpansion
FOR /r "[[disque]chemin]" %%A IN (.) DO (
set chemin=%%A
set chemin=!chemin:.=!
IF NOT "!chemin:~0,29!"=="" MOVE /y !chemin!*.* "[[disque]chemin]"
)
et que tu remplace le 29 de
Code : Tout sélectionner
IF NOT "!chemin:~0,29!"=="" MOVE /y !chemin!*.* "[[disque]chemin]"
EX: c:\bidule\45A56985\ contient 19 caractères.
@+
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
Re: Script pour réduire une arborescence
bonjour
merci pour ta réponse,
apres pas mal de recherche hier, je suis arrivé a faire ceci :
for /f "delims=" %i in ('dir /ad/b') do xcopy %i test\ /s
en exécutant directement dans le répertoire 0000000000000000 et test étant le répertoire de destination.
commande alternative qui a fonctionné aussi : for /d %i in (*) do do xcopy %i test\ /s
meme si je n'ai pas tout compris ca a fonctionné
merci
merci pour ta réponse,
apres pas mal de recherche hier, je suis arrivé a faire ceci :
for /f "delims=" %i in ('dir /ad/b') do xcopy %i test\ /s
en exécutant directement dans le répertoire 0000000000000000 et test étant le répertoire de destination.
commande alternative qui a fonctionné aussi : for /d %i in (*) do do xcopy %i test\ /s
meme si je n'ai pas tout compris ca a fonctionné
merci