Création arborescence windows

Résolu
Lostintheshell1 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je dois dupliquer une arborescence (dossier/sous dossier) remplie de fichier pour en faire un modèle générique. Grâce au forum (merci au passage!) j'ai pu faire un .bat qui m'a listé le contenu de mon dossier. Voici le contenu du .bat:
tree/a>Arbre.txt

J'ai donc un résultat de la forme:
+---3.0 PROJET 1
| +---3.1 CORPORATE, TAX & ACCOUNTING
| | +---3.1.1 CORPORATE
| | | +---3.1.1.2 RMT & CA
| | | \---3.1.1.4 AG
| | | +---3.1.1.4.1 2010
| | | +---3.1.1.4.2 2012
| | | +---3.1.1.4.3 2013
| | | \---3.1.1.4.4 2011
| | +---3.1.2 ACCOUNTING
| | | +---3.1.2.1 2010
| | | +---3.1.2.2 2011
| | | +---3.1.2.3 2012
| | | \---3.1.2.4 2013 Aunaudited financial statements
| | \---3.1.3 TAX

Comment faire maintenant pour créer cette arbo sous windows?

Merci d'avance pour votre aide!!!!!!!!
A voir également:

4 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Si ton but est de dupliquer un dossier (contenant ton arbo...)
Il suffit d'utiliser XCOPY
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb491035(v=technet.10)


1
Lostintheshell1 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Attends par contre là tu copie de même tous les fichiers non???
0
Lostintheshell1 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Ok possible de ne pas copier les fichiers avec la clés "/t"
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Bonjour,

C'est beaucoup plus compliqué que ça en a l'air, mais j'ai réussi quand même.
En admettant que ton fichier arbre.txt se trouve dans un dossier TOTO sur ton bureau, ça donne ça :

@echo off
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul

cd /d %USERPROFILE%\Desktop\TOTO || exit /b 1

set ref=0

for /f "usebackq skip=3 tokens=* delims=" %%A in ("arbre.txt") do (
set chaine=%%A
set pos=0
if defined chaine (call:check chaine)
)

pause
exit


:check
set ligne=!%~1!
set mark=!ligne:~%pos%,1!

if "!mark!"=="+" (call:dossier "!ligne!" !pos!)
if "!mark!"=="\" (call:dossier "!ligne!" !pos!)

if "!mark!"=="|" (set /a pos+=4 & goto :check)
if "A!mark!A"=="A A" (set /a pos+=4 & goto :check)

goto :eof


:dossier
set "new="

if !ref! LSS %2 (set "ref=%2" & cd !name!)
if !ref! GTR %2 (
cd ..
set /a ref-=4
goto :dossier
)

set "ref=%2"
set new=%1
set new=!new:^|=#!

for /f "tokens=1,* delims=-" %%A in (!new!) do (
set name=%%~B
echo. & echo Dossier parent : %CD%
echo Dossier à créer : !name!
echo. & echo #########################################################################################
if not exist "!name!" (mkdir "!name!")
)

goto :eof

rem

Ce script m'a donné un bon mal de crâne ;) ça fume encore

1
Lostintheshell1 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour cette solution que j'utiliserai de façon certaine à l'avenir. Malheureusement dans le cas présent je n'ai plus accès au dossier. Il ne me reste plus que ce fichier txt...
0
Lostintheshell1 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Barnabe0057,

Sache que t'on mal de crâne n'aura pas été vain!!!!! Je viens de tester et cela fonctionne au poil!

Je te remercie donc énormément!:-)
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
De rien ;)

A bientôt peut-être.
0