Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: occam25 en 28 Julio 2010, 11:11 am



Título: Ayuda con Batch
Publicado por: occam25 en 28 Julio 2010, 11:11 am

Hola,
estoy programando un batch y quiero que almacene en una variable la salida de un programa que lee la firma de un micro, pero no lo hago bien.

hago algo así:

Código:
%STK_PATH% -ccom1 -d%TARJET% -s | find "Signature is ">%%a

SET SIGNATURE=%%a

@ECHO %SIGNATURE%

Donde STK_PATH es la variable donde he definido el path del programa que lee el micro y TARJET es el micro que quiero leer.
Mis dudas vienen en el find y, sobre todo, en almacenar la salida en una variable SIGNATURE.

Supongo que para el que ya haya programado en batch esto estará chupado..

Alguna ayudita plis


Título: Re: Ayuda con Batch
Publicado por: leogtz en 28 Julio 2010, 20:13 pm
Supongo que debería funcionar:

Código
  1. for /f "tokens=*" %%a in ('%STK_PATH% -ccom1 -d%TARJET% -s ^| find "Signature is "') do (
  2. set "signature=%%a"
  3. )
  4. echo %signature%


Título: Re: Ayuda con Batch
Publicado por: ¬¬Turbo Cappa en 10 Agosto 2010, 20:35 pm
Saludos, primero una disculpa a “occam25” por colgarme de su hilo para poner mi duda, es que no quiero hacer spam con multitud de hilos con dudas noob :D.
Después quisiera que me ayudaran pues no entiendo que estoy haciendo mal me he leído infinidad de ejemplos y sigo teniendo el mismo problema.
Ayuda por favor y gracias de ante mano…

(http://img24.imageshack.us/img24/1696/pruevak.png) (http://img24.imageshack.us/i/pruevak.png/)


Título: Re: Ayuda con Batch
Publicado por: DA KILLER en 10 Agosto 2010, 20:42 pm
En realidad estás haciendo spam ahora, al colgarte de un hilo ajeno, no te cuesta nada abrir un nuevo post, y ALLI hacer tus dudas, y por favor deja el code no somos adivinos, al menos que yo sepa xD


Título: Re: Ayuda con Batch
Publicado por: ¬¬Turbo Cappa en 10 Agosto 2010, 21:08 pm
Lo siento creo k me falta echar una leidita de nuevo a las reglas del foro, en la imagen esta el código junto con el error que me sale es una captura de pantalla gracias por la pronta respuesta y de nuevo una disculpa…



Título: Re: Ayuda con Batch
Publicado por: DA KILLER en 10 Agosto 2010, 21:15 pm
EDITO SI SALE, AHORA LO LEO

No declaraste los archivos, si no es eso prueba con revisar las rutas, y que existan las carpetas

Saludos


Título: Re: Ayuda con Batch
Publicado por: flony en 11 Agosto 2010, 04:05 am
la parte del if errorlevel lo pondria debajo de el copy
yo siempre uso copy no xcopy y con un @antes un ejemplo que me funciona aclaro tengo sistema operativo xp
bue llego visitas mñn lo pongo al code pero es bastante facil


Título: Re: Ayuda con Batch
Publicado por: ¬¬Turbo Cappa en 11 Agosto 2010, 04:07 am
 ;-)
lo he logrado.
soy algo lento  pero lo importante es k lo logre
pongo el code para el k lo ocupe  :¬¬ es solo un copy and paste pero bueno...

gracias a DA KILLER por la ayuda....

gracias flony lo puse abajo y funciono mejor :D

 
Código:
@echo off

copy "C:\Documents and Settings\Administrador\Mis documentos\pruevas bat\A\hola.bat" "C:\Documents and Settings\Administrador\Mis documentos\pruevas bat\B\hola.bat"

IF ERRORLEVEL 2 GOTO ERROR

echo Proceso Terminado
echo favor de pulsar enter
echo gracias

pause>nul

exit


Título: Re: Ayuda con Batch
Publicado por: DA KILLER en 11 Agosto 2010, 06:01 am
Otra cosa que puedes hacer es en vez de pedir que presionen una tecla solo dejar el pause en pantalla es decir "pause" y te diría "Presione cualquier tecla para continuar..."

SaluDOS


Título: Re: Ayuda con Batch
Publicado por: flony en 11 Agosto 2010, 13:31 pm
otra cosita estaba viendo el code y en la parte del
Código:
IF ERRORLEVEL 2 GOTO ERROR
para traducirlo al castellano le pedis al code que si
Citar
El usuario presionó Ctrl+Pausa para suspender el proceso de copy
...se valla a la etiqueta error pero veo que la etiqueta error no estadeclarada,  se declara asi
Código:
@echo off

copy "C:\Documents and Settings\Administrador\Mis documentos\pruevas bat\A\hola.bat" "C:\Documents and Settings\Administrador\Mis documentos\pruevas bat\B\hola.bat"

IF ERRORLEVEL 2 GOTO ERROR

echo Proceso Terminado
echo favor de pulsar enter
echo gracias
pause>nul

:error
no aprete pausa jajaja

pause>nul

exit
bue como ves se declara con un :etiqueta...esto es xq el comando goto lleva a una etiqueta...a una parte del code  ;)