Création arborescence windows
Résolu
Lostintheshell1
Messages postés
8
Statut
Membre
-
barnabe0057 Messages postés 14329 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14329 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!!!!!!!!
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!!!!!!!!
4 réponses
-
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)
-
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
-
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... -
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!:-)