hola, les copio aqui una cosa que posteé en otro foro y aun nadie me contesta, ando desesperado :( :
tengo un problema con un batch que estaba haciendo, el problema llega en la sección ":COMPROBAR" resulta que aunque "javaw.exe" lo reconozca el tasklist o no lo reconozca, el errorlevel que me da siempre es "0", así que no se que debo hacer por culpa de eso se me crea un bucle de ":COMPROBAR" a ":AVISAR" y nunca pasa a ":INSTALAR", acabo de empezar hace unos dias a usar la variable errorlevel, y me ha funcionado bien pero es la primera vez que lo uso refiriendome a los datos que me da un proceso en particular como el tasklist y seguro que lo hago mal, y nisikiera se que significa el parametro "LEQ" y la verdad en internet solo hay informacion sobre la utilidad errorlevel.exe, no sobre la variable de Windows (7), asi q si alguien me pudiera explicar un poco más como poder usarla mejor, sus parametros, o resolverme este problema estaria muy agradecido.
saludos!
:CENTRAR
if exist c:\windows\system32\nircmd.exe nircmd win center ititle "PiToLoKo Installer"
:COMPROBAR
tasklist /FI "IMAGENAME eq javaw.exe"
IF %ERRORLEVEL% LEQ 0 goto :AVISAR
IF NOT %ERRORLEVEL% LEQ 0 goto :INSTALAR
:AVISAR
cls & title AVISO!!! & color c & echo+ & echo+ Cierra JDownloader antes de instalar este plugin . . . & echo+ & echo+ & pause & title PiToLoKo Installer & goto :Comprobar
:INSTALAR
xcopy /E /Y jd "C:\Program Files (x86)\JDownloader\" >nul
IF NOT %ERRORLEVEL% LEQ 0 goto :MAL
:BIEN
cls & echo+ & echo+ "Plugin Anti reCaptcha ST" se ha instalado correctamente :) & Ping -n 4 localhost >nul & cls
color 2 & echo+ & echo+ INSTALACION FINALIZADA CON EXITO !! & Ping -n 4 localhost >nul
exit
:MAL
Mode con cols=66 lines=6 & cls & color c & echo+ & echo+ INSTALACION FALLIDA :( & echo+ & echo+ ( Ha ocurrido algun tipo de error durante la instalacion... ) & pause>nul
exit
bueno ya lo he solucionado de milagro solo añadiendo un parametro
Código:
:COMPROBAR
tasklist /FI "IMAGENAME eq javaw.exe" | findstr PID >NUL
pero me gustaria q alguien me lo explicase mejor las dudas q he expuesto gracias
EDITO: ahora me vuelve a pasar lo mismo con otro batch, ya no se q hacer...
Código:
regedit /s "Eliminar archivos indeseables.reg"
echo+ %errorlevel% & pause
IF NOT %ERRORLEVEL% LEQ 0 goto :MAL
el comando del regedit siempre me da un errorlevel "0" encuentre o no encuentre el archivo de registro...psssss... :/
se supone q me deberia dar un errorlevel 1 o 9099, en fin................
Es que el comando se ejecutó correcamente. Tienes que buscar la salida con findstr (hablo del primer ejemplo), o find o algo de ese estilo.
Con las pipes (|) le pasamos la salida del primer comando al segundo.
Lo del regedit, hazlo con el comando REG.
Cita de: pablomi en 21 Enero 2011, 14:36 PM
Es que el comando se ejecutó correcamente. Tienes que buscar la salida con findstr (hablo del primer ejemplo), o fin o algo de ese estilo.
Con las pipes (|) le pasamos la salida del primer comando al segundo.
Lo del regedit, hazlo con el comando REG.
Gracias aqui se aprenden cosas cuando menos te loe speras, nunca me habia fijado en esos comandos, las "pipes" parecen muy útiles y el comando "fin" kizás kerias decir "find", porke "fin" no existe en mi consola xD, pero mira estoy intentandolo así y no me funciona a ver si tu puedes ayudarme, este comando me da el siguiente error cuando lo ejecuto en la consola:
xcopy /E /Y "MP3 Direct Cut" "C:\Program Files (x86)\MP3 Direct Cut\"
se copian 2 archivos, y luego dice: Infraccion al compartir
entonces yo hago esto en un batch:
xcopy /E /Y "MP3 Direct Cut" "C:\Program Files (x86)\MP3 Direct Cut\" | findstr compartir >nul >error.txt
IF NOT %ERRORLEVEL% LEQ 0 goto :MAL
:MAL
type error.txt
pero en error.txt no se copia la frase "infraccion al compartir", solo los 2 archivos copiados y no se porke!!
osea, en el cmd me sale así:
MP3 Direct Cut\MP3 Direct Cut.ico
MP3 Direct Cut\MP3DirectCut.exe
Infracción al compartir
y en error.txt así:
MP3 Direct Cut\MP3 Direct Cut.ico
MP3 Direct Cut\MP3DirectCut.exe
EDITO: lo que quiero es poder copiar el error provocado para luego mostrarlo en la ventana :S.
Más o menos así, para que me entiendan...
(http://img843.imageshack.us/img843/9128/prtscrcapturez.jpg)
mMm por fin he encontrado los parámetros del errorlevel xD lo comparto por si a alguien le interesa...
EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal
EDITO MUAHAHAHAAHA :-X ya resolví mi problma... yo solo xD :laugh:
era tan simple como:
copy /Y "que cosa que cosa es???" >nul 2>>error.txt
type error.txt
Busca sobre ejecucion condicional, creo que yo escribi un articulo sobre eso.
ok dalo por exo tiene q estar bien, ya me leí hace tiempo un artículo tuyo sobre los comando del nircmd xD uf, eso si que fue largo.
saludos!