Création de plusieurs répertoires avec variables

bigbib Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
bigbib Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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


A voir également:

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
bigbib Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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.
)





0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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!
)
0
bigbib Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci dubcek ;-)
0