Création de plusieurs répertoires avec variables

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

  1. Contributeur
    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
    1. 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
      1. Contributeur
        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
      2. Merci dubcek ;-)
        0