Ponlo en pastebin.com
SET Meses=JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
)
ECHO El mes actual en numero es:
%Mes%.
>PoC.bat 1
El mes actual en numero es: 1.
Buena idea.
Lamentablemente pastebin esta prohibido por politica de seguridad en el trabajo.
Por eso preguntaba lo de adjuntar achivos.
De todas maneras no importa. Creo que he resuelto el problema, sacrificando un poco el formato final, pero es asumible.
He simplificado la
Os dejo la modificacion del codigo:
@ECHO OFF
CLS
SETLOCAL ENABLEEXTENSIONS
SET me=%~n0
SET parent=%~dp0
SET AuxRuta=C:\Temp\Reports\Tacacs\2018
FOR /L %%i IN (1,1,12) DO (
REM ECHO %me%: Parametros en llamada a Folder. Indice FOR: %%i Ruta: %AuxRuta%
CALL :Folder %%i %AuxRuta%
)
GOTO :EOF
: Folder
REM Parametros de entrada Mes en numero y Ruta.
SET Meses=01-JANUARY 02-FEBRUARY 03-MARCH 04-APRIL 05-MAY 06-JUNE 07-JULY 08-AUGUST 09-SEPTEMBER 10-OCTOBER 11-NOVEMBER 12-DECEMBER
SET Mes=%1
ECHO %me%: El mes actual en numero es: %Mes%. Linea 29
ECHO.
FOR /F "Tokens=%Mes%" %%a IN ("%Meses%") DO (
SET NOM_MES=%%a
)
CD %2\%NOM_MES%
ECHO %me%: Parametros invocacion CrearCarpetaDia: %Mes% %2\%NOM_MES% Linea 33
ECHO.
REM ECHO %me%: Folder. Invocamos a CrearCarpetaDia segun el numero de dias que tendran los meses en 2018. Linea 35
IF %Mes%==1 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
IF %Mes%==2 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 28)
IF %Mes%==3 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
IF %Mes%==4 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 30)
IF %Mes%==5 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
IF %Mes%==6 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 30)
IF %Mes%==7 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
IF %Mes%==8 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
IF %Mes%==9 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 30)
IF %Mes%==10 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
IF %Mes%==11 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 30)
IF %Mes%==12 ( CALL :CrearCarpetaDia %Mes% %2\%NOM_MES% 31)
GOTO :EOF
:CrearCarpetaDia
REM Parametros de entrada: Mes, Ruta, dias del mes.
ECHO.
ECHO %me%: CrearCarpetaDia. Parametros %1 %2 %3
ECHO.
FOR /L %%j IN (1,1,%3) DO (
IF %%j GEQ 10 (
MKDIR %2\%%j-%1
REM ECHO %me%: CreaCarpeta: %2\%%j-%1 Linea 68
) ELSE (
MKDIR %2\0%%j-%1
REM ECHO %me%: CreaCarpeta: %2\0%%j-%1 Linea 70
)
)
ECHO.
GOTO :EOF
Muchas gracias a todos por las ideas y la ayuda.
Un saludo.