Copie aléatoire dans des dossiers

Fermé
DoMiN1ToR Messages postés 46 Date d'inscription vendredi 3 mars 2017 Statut Membre Dernière intervention 30 décembre 2018 - 2 avril 2017 à 12:04
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 4 avril 2017 à 21:08
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 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 921
Modifié le 2 avril 2017 à 13:25
@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 vendredi 3 mars 2017 Statut Membre Dernière intervention 30 décembre 2018
2 avril 2017 à 16:31
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 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 921 > DoMiN1ToR Messages postés 46 Date d'inscription vendredi 3 mars 2017 Statut Membre Dernière intervention 30 décembre 2018
Modifié le 2 avril 2017 à 17:05
@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 vendredi 3 mars 2017 Statut Membre Dernière intervention 30 décembre 2018
4 avril 2017 à 19:54
cela ne change pas par rapport au premier script
0
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 921
Modifié le 4 avril 2017 à 21:08
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