Copie aléatoire dans des dossiers

DoMiN1ToR Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   -
j'ai créer un programme avec l'aise de ccm qui est censé copier un fichier texte dans une arborescence aléatoire la première partie marche bien mais pas la deuxième et je ne sais pas pourquoi si quelqu'un pourrai m'aider son aide est la bien venue
voici mon code :

@echo off
cd %USERPROFILE%\Desktop
md data
for /L %%A in (1,1,9) do (
md %%A
for /L %%B in (1,1,9) do (
md %%A\%%B
for /L %%C in (1,1,9) do (
md %%A\%%B\%%C
)
)
)

set /p var1="nom du fichier ?"

:dossier1
set dossier_1=%random%
if %dossier_1% LEQ 9 goto dossier2 else goto dossier1

:dossier2
set dossier_2=%random%
if %dossier_2% LEQ 9 goto dossier3 else goto dossier2

:dossier3
set dossier_3=%random%
if %dossier_3% LEQ 9 goto suite else goto dossier3
:suite

copy "F:\data\%var1%.txt" "F:\%dossier1%\%dossier2%\%dossier3%"

exit
A voir également:

2 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
@echo off
cd /d F:
md data
for /L %%A in (1,1,9) do (
md %%A
for /L %%B in (1,1,9) do (
md %%A\%%B
for /L %%C in (1,1,9) do (
md %%A\%%B\%%C
)
)
)

set /p var1="nom du fichier ?"
echo coucou > F:\data\%var1%.txt

:dossier1
set dossier_1=%random%
if %dossier_1% GTR 9 goto dossier1

:dossier2
set dossier_2=%random%
if %dossier_2% GTR 9 goto dossier2

:dossier3
set dossier_3=%random%
if %dossier_3% GTR 9 goto dossier3

:suite
copy "F:\data\%var1%.txt" "F:\%dossier1%\%dossier2%\%dossier3%"

exit
0
DoMiN1ToR Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai essayer ton code mais comme le mien le fichier est collé a la racine t non aléatoirement dans l'arborescence
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > DoMiN1ToR Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
@echo off
cd /d F:
md data
for /L %%A in (1,1,9) do (
md %%A
for /L %%B in (1,1,9) do (
md %%A\%%B
for /L %%C in (1,1,9) do (
md %%A\%%B\%%C
)
)
)

set /p var1="nom du fichier ?"
echo coucou > F:\data\%var1%.txt

:dossier1
set dossier_1=(%RANDOM%*9/32768)+1
set dossier_1=%dossier_1:~0,1%

if %dossier_1% GTR 9 goto dossier1

:dossier2
set dossier_2=(%RANDOM%*9/32768)+1
set dossier_2=%dossier_2:~0,1%

if %dossier_2% GTR 9 goto dossier2

:dossier3
set dossier_3=(%RANDOM%*9/32768)+1
set dossier_3=%dossier_3:~0,1%

if %dossier_3% GTR 9 goto dossier3

:suite
copy "F:\data\%var1%.txt" "F:\%dossier1%\%dossier2%\%dossier3%"

exit
0
DoMiN1ToR Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
cela ne change pas par rapport au premier script
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Cette fois-ci j'ai testé ça fonctionne :

@echo off

set racine=F:\data

if not exist "%racine%" md "%racine%"

cd /d %racine%

for /L %%A in (1,1,9) do (
md %%A
for /L %%B in (1,1,9) do (
md %%A\%%B
for /L %%C in (1,1,9) do (
md %%A\%%B\%%C
)
)
)

set /p var1="nom du fichier ? "
echo coucou > %var1%.txt

:dossier1
set /a dossier_1=(%RANDOM%*9/32768)+1
set dossier_1=%dossier_1:~0,1%
if %dossier_1% GTR 9 goto dossier1

:dossier2
set /a dossier_2=(%RANDOM%*9/32768)+1
set dossier_2=%dossier_2:~0,1%
if %dossier_2% GTR 9 goto dossier2

:dossier3
set /a dossier_3=(%RANDOM%*9/32768)+1
set dossier_3=%dossier_3:~0,1%
if %dossier_3% GTR 9 goto dossier3

:suite
copy "%var1%.txt" "%dossier_1%\%dossier_2%\%dossier_3%"

exit
0