Création de plusieurs répertoires avec variables

Fermé
Signaler
Messages postés
3
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
24 août 2015
-
Messages postés
3
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
24 août 2015
-
Bonjour tout le monde,

je voudrais créer plusieurs répertoires (plus de 20000 au final) mais avec variables (de / à)

et avec mise en formes (toujours en 8 chiffres ex: 00000012 )

voici mon problème,

je ne vois comprend pas comment placer les conditions


cls

set /p de=Numéro du 1er répertoire à créer: 
set /a de=%de%

set /p aa=Numéro du dernier répertoire à créer: 
set /a aa=%aa%

REM echo REP A CREER DE:
REM echo %de% A %aa%


PAUSE



FOR /L %%N IN (%de%,1,%aa%)do ( goto :win01 )


:win01

if %%N GEQ 10 goto :WIN10

mkdir 0000000%%N

goto :start 



:WIN10

if %%N GEQ 100 goto :WIN100

mkdir 000000%%N

goto :start 



:WIN100

if %%N GEQ 1000 goto :WIN1000

mkdir 00000%%N

goto :start 



:WIN1000

if %%N GEQ 10000 goto :WIN10000

mkdir 0000%%N

goto :start 



:WIN10000

mkdir 000%%N

goto :start 





Merci d'avance pour votre aide


2 réponses

Messages postés
18346
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 décembre 2021
5 447
hello
autre méthode, ajouter 100000000 et enlever le 1
C:> set x=12
C:> set /a x+=100000000
100000012
C:> echo %x:~1,10%
00000012

C:> set x=1234
C:> set /a x+=100000000
100001234
C:> echo %x:~1,10%
00001234
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
24 août 2015

désolé pour le retard,
merci dubcek pour ton aide.
Maintenant, mon problème est d'insérer ton code dans une boucle pour renommer tous les répertoires ayant un "1" en premier caractère.
J'ai essayé de plusieurs manières et c'est à croire que "IF" n'a aucun effet ans "FOR"




cls
color b

echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º CREATION DE REPERTOIRES en 8 chiffres º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo.
echo.

goto start

:start

set de=
set /p de=NUMERO DU 1ER REP A CREER :
set /a de+=100000000
set /a de2=%de%
echo.
echo.
set a=
set /p a=NUMERO DU DERNIER REP A CREER :
set /a a+=100000000
set /a a2=%a%

echo.
echo.
echo.
echo.
echo CONFIRMATION DE LA CREATION DES REPERTOIRES
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo DU NUM. %de2:~1% AU NUM. %a2:~1%
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo.
echo.

Goto conf



:conf
set %confirmation=
set /p confirmation=VOUS CONFIRMEZ? (O)ui/(N)on:
IF "%confirmation%"=="O" (
goto action
) ELSE (
IF "%confirmation%"=="o" (
goto action
) ELSE (
IF "%confirmation%"=="N" (
goto start
) ELSE (
IF "%confirmation%"=="n" (
goto start
) ELSE (
echo.
goto conf2
echo.
))))

:conf2
echo.
echo ECRIVEZ "O" ou "N"
echo.
echo.
goto conf

:action
setlocal enableDelayedExpansion
FOR /L %%N IN (%de%,1,%a%)do (mkdir %%N)

FOR /D %%V IN (*) DO (
set dir=%%v

REM ***** La partie ou je rame !!! ******

IF "%dir:~0,1%"=="1" ( ren %dir% %dir:~1,10% )

)






:fin

if %errorlevel% == 0 (
echo.
echo.
echo CREATION DES REPERTOIRES DE %de2:~1% A %a2:~1% TERMINEE
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.
echo.
)





Messages postés
18346
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 décembre 2021
5 447
mon code doit se mettre dans la boucle
@echo off
setlocal enabledelayedexpansion
set /p de=debut ?
set /p a=fin ?
for /L %%a in (%de%, 1, %a%) do (
set n=%%a
set /a n+=100000000
set n=!n:~1,10!
echo mkdir !n!
)
Messages postés
3
Date d'inscription
dimanche 12 août 2012
Statut
Membre
Dernière intervention
24 août 2015

Merci dubcek ;-)