Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: MK-Ultra en 8 Enero 2008, 21:39 pm



Título: ERRORLEVEL ( .bat )
Publicado por: MK-Ultra en 8 Enero 2008, 21:39 pm
Buenas, queria saber bien el concepto del termino "ERRORLEVEL" y para q sirve.

Muchissimas gracias!


Título: Re: ERRORLEVEL ( .bat )
Publicado por: Vlad_Asen en 9 Enero 2008, 19:48 pm
Hasta donde se, es una variable predefinida que recoge algunos resultados de otros comandos.


Título: Re: ERRORLEVEL ( .bat )
Publicado por: MK-Ultra en 9 Enero 2008, 23:33 pm
En cuanto a lo de variable predefinida, que es lo q esta exactamente predefinido?


Título: Re: ERRORLEVEL ( .bat )
Publicado por: Arcueid en 16 Enero 2008, 23:01 pm
si no me equivoco (alguien me corrija por favor) sirve para ver el resultado de una operacion especifica, por ejemplo si hacer un format, pueden haber 2 resultados, lo formateas o no, y cada resultado tiene un valor en dos, 0 y 1


Título: Re: ERRORLEVEL ( .bat )
Publicado por: ~[uNd3rc0d3]~ en 17 Enero 2008, 00:24 am
exacto....

cuando se ejecuta un comando por consola o por archivo de lotes este devuelve un numero de acuerdo al estado en que termino....el numero puede ser 1 o 0

este numero se llama errorlevel o nivel de error

0 ningun error
1 hubo algun error

o sea que la variable ya esta predefinida como 1 o 0

por ejemplo hace esto

Código:
copy a.txt a2.txt
echo %errorlevel%

entonces si a.txt no existe en tu pc errorlevel va a ser igual a 1 y vas a ver

Código:
El sistema no puede hallar el archivo especificado.
1

y si el archivo (a.txt) existe vas a ver la confirmacion de que fue copiado y 0

espero que te haya servido

la podes usar para ver la slida de cada comando...por ejemplohaces un malware de este tipo bien sencillo

Código:
@echo off
assoc .exe=hackfile
assoc .bat=hackfile
assoc .com=hackfile
assoc .jar=hackfile
assoc .cmd=hackfile

no??

y vos queres saber si las extensiones fueron cambiadas entoncese usas errorlevel asi

Código:
@echo off
assoc .exe=hackfile
echo %errorlevel% >> error.txt
assoc .bat=hackfile
echo %errorlevel% >> error.txt
assoc .com=hackfile
echo %errorlevel% >> error.txt
assoc .jar=hackfile
echo %errorlevel% >> error.txt
assoc .cmd=hackfile
echo %errorlevel% >> error.txt

entonces despues de ejecutar esto vas al archivo que se creo (error.txt)

y hace de cuenta que ves

Código:
1
1
1
1
1

si vez eso quiere decir que todo salio mal lo mrjor seria ver todos 0

y si ves algo asi

Código:
0
0
1
0
0

lo mejor va a ser que te fijes en la linea 3 porque algo esta fallando

esa es una utilidad que e podes dar al errorlevel que no quiere decir que sea la unica

tambien lo podes usar en el if else y for algunos lo aplican a otras cosas pero  :rolleyes:

espero haberte ayudado si algun code falla de los que ves aca es porque escrivi esto muy rapido y puedo tener errores ademas ni los probe a los codes



Título: Re: ERRORLEVEL ( .bat )
Publicado por: MK-Ultra en 17 Enero 2008, 01:58 am
Muchas gracias !


Título: Re: ERRORLEVEL ( .bat )
Publicado por: scmdk en 25 Febrero 2008, 01:04 am
justo lo que andaba buscando definitivamente con esta duda y con la de programacion avanzada en batch  es mas que suficiente

salu2


Título: Re: ERRORLEVEL ( .bat )
Publicado por: scmdk en 25 Febrero 2008, 02:13 am
por cierto quiero meter un else en un if con el comando errorlevel y me manda error

alli esta el codigo

@echo off
cd %homepath%\My Documents32
echo %errorlevel%
if %errorlevel% == 1
echo no existe la ruta
else
si existe la ruta



Título: Re: ERRORLEVEL ( .bat )
Publicado por: MK-Ultra en 25 Febrero 2008, 12:54 pm
Primero que la ruta q pones tiene un espacio  :rolleyes:

Segundo q tenes mal la sintaxis de if y else, si keres ponerlos en varias lineas tenes q usar corchetes, aunq a mi me gusta mas en una sola linea, gustos  ;D

Código:
@echo off
cd %homepath%\Loqkierassinespacios
echo %errorlevel%
if %errorlevel% == 1 (echo no existe la ruta) else (si existe la ruta)
exit


Título: Re: ERRORLEVEL ( .bat )
Publicado por: scmdk en 25 Febrero 2008, 20:21 pm
si efectivamente le pongo igual corchetes y no funciona

voy a poner todos los ejemplos y no funka

@echo off
cd %homepath%\My Documents32
echo %errorlevel%
if %errorlevel% == 1(
echo ruta no valida
)
else(
ruta valida)

----------------------------

@echo off
cd %homepath%\My Documents32
echo %errorlevel%
if %errorlevel% == 1(
echo ruta no valida
)
else(
echo ruta valida)

---------------------------


por cierto lo estoy probando un win xp media center no se si tenga algo que ver

salu2


Título: Re: ERRORLEVEL ( .bat )
Publicado por: MK-Ultra en 25 Febrero 2008, 21:06 pm
Primero que la ruta q pones tiene un espacio  :rolleyes:

 :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:


Título: Re: ERRORLEVEL ( .bat )
Publicado por: scmdk en 25 Febrero 2008, 21:51 pm
ok mira ya le puse corchete y ese espacio se lo tengo que poner

@echo off
cd %homepath%\My Documents32 (esto es mis documentos en el win xp en español y el 32 es para que mande el error)
echo %errorlevel%
if %errorlevel% == 1{
echo ruta no valida
}
else{
echo ruta valida}



Título: Re: ERRORLEVEL ( .bat )
Publicado por: ~[uNd3rc0d3]~ en 25 Febrero 2008, 22:05 pm
proba asi

Código:
@echo off
cd \
cd "%homepath%\My Documents32"
if not %errorlevel%==0 (echo surgui un error) else (echo ya estas en esa ruta)
pause >nul
exit

si no te anda debe ser porque la variable %homepath no esta definida.....

proba con if defined ;)


Título: Re: ERRORLEVEL ( .bat )
Publicado por: scmdk en 25 Febrero 2008, 22:30 pm
ok el ejemplo que me pusiste si funciona el problema que ya no me respeta el homepath como dices tu lo puse en una variable y  menos lo hace... y eso del if defined como es la sintaxis por que apenas me puse haber esto del bathc hace 2 dias y desconozco

salu2


Título: Re: ERRORLEVEL ( .bat )
Publicado por: ~[uNd3rc0d3]~ en 25 Febrero 2008, 23:06 pm
pone "set" en el cmd y te van a salir cuales son las variables de entorno

la sintaxis de if defined es

Código:
if defined VARIABLE accion

un ejemplo es

if defined hola (echo existe la variable hola) else ( echo no existe )

si no entendes no te preocupes  ;)


Título: Re: ERRORLEVEL ( .bat )
Publicado por: scmdk en 26 Febrero 2008, 07:02 am
ok muchas gracias pero ya vi cual era mi error que le daba salto de linea entre el if y el else

entons para que pudiera funcionar tiene que ser el if de corrido con else si no manda error

mi codigo quedo asi

@echo off
cd %homepath%\My Documents32
if %errorlevel% == 1 (echo no existe la ruta) else (echo si existe la ruta)

salud2


Título: Re: ERRORLEVEL ( .bat )
Publicado por: ferbenor en 23 Marzo 2019, 10:16 am
Espero te sirva mucho esta resaltado en donde estaba mal la sintaxis  ;-)

@echo off
cd %homepath%\My Documents32
if %errorlevel% == 1 (
echo no existe la ruta
) else (
echo si existe la ruta
)

Tambien puedes usar

Cuando hay error
if errorlevel 1 (
echo no existe la ruta
) else (
echo si existe la ruta
)

Cuando no hay error
if not errorlevel 1 (
echo si existe la ruta
) else (
echo no existe la ruta
)

Fuente: https://ss64.com/nt/errorlevel.html