Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: marckcrack en 18 Enero 2023, 19:50 pm



Título: Necesito hacer un script de creación de carpetas con algunos requisitos en batch
Publicado por: marckcrack en 18 Enero 2023, 19:50 pm
Tengo que hacer un script en batch que me genere la cantidad de carpetas que yo le diga al ejecutar el script por el CMD (un ejemplo sería script.bat 10 y que me cree 10 carpetas).
El tema está en que si le pido 10 o más carpetas en las carpetas de entre 1 y 9 tiene que haber un 0 delante. Ejemplo:
script.bat 15
Carpeta01
Carpeta02
Carpeta03
...
Carpeta10
Carpeta11

Y tengo que hacer lo mismo con los números de dos cifras una vez haya puesto un número de 3 cifras. Pero si pongo un número igual o superior a 1000 tiene que denegarme con un mensaje la creación de carpetas. Además de cada vez que cree una carpeta poner un mensaje. He investigado y he probado varios scripts, pero no me acaba de salir todo.
Aquí os dejo lo que tengo por si alguien me puede ayudar:

@echo off
      echo Voy a crear %1 directorios para ti
      mkdir creaXDirectorios_salida
      cd creaXDirectorios_salida

         FOR /L %%i IN (1,1,%1) DO (
            if %%i LEQ 9 (
               mkdir Carpeta%%i
               echo Creado directorio Carpeta%%i
                  )

         FOR /L %%i IN (10,1,%1) DO (
            if %%i LEQ 99 (
               mkdir Carpeta0%%i
               echo Creado directorio Carpeta0%%i
                  )
            elseif %%i LEQ 99 (
               mkdir Carpeta0%%i
               echo Creado directorio Carpeta%%i
                     )
                     )

         FOR /L %%i IN (100,1,%1) DO (
            if %%i LEQ 10 (
               mkdir Carpeta00%%i
               echo Creado directorio Carpeta00%%i
                  )
            else %%i LEQ 99 (
               echo Creado directorio Carpeta00%%i
                  )

         FOR /L %%i IN (1000,1,%1) DO (
            else %%i GEQ 1000 (
               echo Creo que no es bueno crear tantos directorios
                     )
                     )

cd ..
echo Ya lo tienes listo
pause

Gracias por adelantado.