elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] Error al final de la ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] Error al final de la ejecucion  (Leído 742 veces)
baldovi_6

Desconectado Desconectado

Mensajes: 19


Ver Perfil
[BATCH] Error al final de la ejecucion
« en: 3 Noviembre 2018, 17:21 pm »

Buenas tardes a tod@s.

Estoy intentando crear un pedazo de codigo que me cree 12 carpetas, una para mes, pero al final de la ejecucion me da un error que me gustaria entender, para solucionarlo .

Os dejo el codigo:

@ECHO OFF

CLS
ECHO.
PUSHD C:\Temp
FOR /L %%i IN (1,1,12) DO ( CALL :Mes %%i)

: Mes

SET Meses=JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
ECHO Valor del parametro: %1
ECHO.
FOR /F "Tokens=%1" %%a IN ("%Meses%") DO (
   IF %1 GEQ 10 (
      ECHO  %1-%%a
      MKDIR %1-%%a
   ) ELSE (
      ECHO  0%1-%%a
      MKDIR 0%1-%%a
      )   
GOTO :EOF      
)
ECHO.
GOTO :EOF


Y ahora la salida que me da:

Valor del parametro: 1

 01-JANUARY
Valor del parametro: 2

 02-FEBRUARY
Valor del parametro: 3

 03-MARCH
Valor del parametro: 4

 04-APRIL
Valor del parametro: 5

 05-MAY
Valor del parametro: 6

 06-JUNE
Valor del parametro: 7

 07-JULY
Valor del parametro: 8

 08-AUGUST
Valor del parametro: 9

 09-SEPTEMBER
Valor del parametro: 10

 10-OCTOBER
Valor del parametro: 11

 11-NOVEMBER
Valor del parametro: 12

 12-DECEMBER
Valor del parametro:

10 was unexpected at this time.

C:\temp>


El caso es que no acabo de ver porque sale la linea que dice:
10 was unexpected at this time.

El texto que dice Valor del parametro es añadido mio para control. Al final no aparecera, ya que lo quitare.

Muchisimas gracias.




En línea

baldovi_6

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [BATCH] Error al final de la ejecucion
« Respuesta #1 en: 3 Noviembre 2018, 18:48 pm »

Repasando el codigo, me he dado cuenta que no habia puesto en GOTO :EOF detras del FOR.

He dejado el codigo tal que asi:


@ECHO OFF

CLS
ECHO.
PUSHD C:\Temp
FOR /L %%i IN (1,1,12) DO ( CALL :Mes %%i)
GOTO :EOF

: Mes

SET Meses=JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
FOR /F "Tokens=%1" %%a IN ("%Meses%") DO (
   IF %1 GEQ 10 (
      ECHO  %1-%%a
   REM   MKDIR %1-%%a
   ) ELSE (
      ECHO  0%1-%%a
   REM   MKDIR 0%1-%%a
      )         
)
GOTO :EOF


Y la salida me queda ahora como yo queria.



 01-JANUARY
 02-FEBRUARY
 03-MARCH
 04-APRIL
 05-MAY
 06-JUNE
 07-JULY
 08-AUGUST
 09-SEPTEMBER
 10-OCTOBER
 11-NOVEMBER
 12-DECEMBER

C:\temp>





En línea

baldovi_6

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [BATCH] Error al final de la ejecucion
« Respuesta #2 en: 3 Noviembre 2018, 18:50 pm »

Repasando el codigo, me he dado cuenta que no habia puesto en GOTO :EOF detras del FOR.

He dejado el codigo tal que asi:


@ECHO OFF

CLS
ECHO.
PUSHD C:\Temp
FOR /L %%i IN (1,1,12) DO ( CALL :Mes %%i)
GOTO :EOF

: Mes

SET Meses=JANUARY FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER
FOR /F "Tokens=%1" %%a IN ("%Meses%") DO (
   IF %1 GEQ 10 (
      ECHO  %1-%%a
   REM   MKDIR %1-%%a
   ) ELSE (
      ECHO  0%1-%%a
   REM   MKDIR 0%1-%%a
      )         
)
GOTO :EOF


Y la salida me queda ahora como yo queria.



 01-JANUARY
 02-FEBRUARY
 03-MARCH
 04-APRIL
 05-MAY
 06-JUNE
 07-JULY
 08-AUGUST
 09-SEPTEMBER
 10-OCTOBER
 11-NOVEMBER
 12-DECEMBER

C:\temp>





Los MKDIR los he comentado porque me habia cansado de borrar las carpetas una y otra vez....
:-)
 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejecucion de archivo exe con batch « 1 2 »
Scripting
revenge1252 14 4,205 Último mensaje 29 Junio 2008, 00:18 am
por carlitos.dll
Ejecución condicional [Batch] LEER
Scripting
leogtz 7 9,132 Último mensaje 17 Diciembre 2008, 18:15 pm
por Banti
Esperar al final de la ejecucion de otro programa.
Programación Visual Basic
Elemental Code 2 2,581 Último mensaje 14 Diciembre 2010, 03:13 am
por Elemental Code
Destructor se ejecuta bien pero da error al final de la ejecución [SOLUCIONADO]
Programación C/C++
SARGE553413 5 1,544 Último mensaje 25 Abril 2013, 16:00 pm
por SARGE553413
[BATCH] Ocultar bat en ejecucion
Scripting
llAudioslavell 1 2,358 Último mensaje 7 Octubre 2016, 05:16 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines