elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
12 Febrero 2012, 21:31  

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez.)
| | |-+  -> Programación BATCH Avanzada. (nuevo)
0 Usuarios y 4 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 Ir Abajo Respuesta Imprimir
Autor Tema: -> Programación BATCH Avanzada. (nuevo)  (Leído 171,597 veces)
uroboros

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #90 en: 2 Noviembre 2008, 23:54 »

El tema de variables ningun problema; pero lo de argumentos no lo cojo por ningun lado; es en eso de %0, el astring, %~f1,  eso del directorio donde se tiene el archivo y como luego se muestran los analisis

es más, el concepto en general es lo que no comprendo. por ejemplo en este codigo
@echo off
echo Con Comillas: %1
echo Sin Comillas: %~1

el %1 a q se refiere?

o que es eso re recibir?
"Si lo que recibimos no es un archivo, sino una cadena de texto, que contiene mas de una palabra, se debe poner entre comillas, algo asi:"

si se me aclara el concepto, la idea general de los argumentos y de la semantica de sus codigos no tendré ningun problema, solo que el problema lo tengo al principio de todo y entonces ya no me funciona nada.


En línea
patovica

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #91 en: 3 Noviembre 2008, 22:41 »

LEO G. muchas gracias por la respuesta, los probe y andan perfectos, los tendia que pulir un poquito para que detecte solamene el pendrive, ahora otra pregunta mas, la ideas es arragar este programa cuando se inicie window y quede latente hasta que alguien meta un pendrive y cuando sea asi me avise mediante una alerta, esta parte ya me anda, me falta como poder hacer para que quede stand by. Muchas gracias.


En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #92 en: 4 Noviembre 2008, 05:08 »

Hola, con respecto a lo de Stand by, puedes hacer un bucle que cada determinado tiempo, muestre las unidades extraibles conectadas, algo asi :
Código:
@echo off
:Code
ping -n 20 127.0.0.1>nul
...Codigo
goto:Code

Ahora, hice este otro Script, muestra las USB´S, es parecido a los demás, solo que ahora muestra la lista asi :
A:
B:
C:
etc.
Código:
@echo off
:Code
nircmd wait 3000
for /f "tokens=2 skip=1" %%x in ('fsutil fsinfo drives ^| more') do (
fsutil fsinfo drivetype %%x | find /i "extra" > nul 2>&1 && (
for /f "tokens=1" %%c in ('echo %%x') do (
echo %%c
)
)
)
for /f "tokens=1 skip=2" %%x in ('fsutil fsinfo drives ^| more') do (
fsutil fsinfo drivetype %%x | find /i "extra" > nul 2>&1 && (
for /f "tokens=1" %%c in ('echo %%x') do (
echo %%c
)
)
)
nircmd wait 1000
cls
goto:Code

El codigo usa a nircmd.exe, descargalo de nirsoft.net.

Saludos.
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #93 en: 4 Noviembre 2008, 05:18 »

Hola, de esta otra forma tambien se puede  ;D :

Código:
@echo off
for /f "tokens=3" %%x in ('echo list volume ^| diskpart ^| find /i "extra"') do (
echo %%x:
)
>nul (pause)
exit /b

Saludos.

Con WMIC tambien se pude, pero tengo problemas con el ahorita.
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #94 en: 4 Noviembre 2008, 05:23 »

Hola, tal ves te interese este, loo hice para que detecte las unidades extraibles y su espacio :
Código:
@echo off
for /f "tokens=3,6,7" %%a in ('echo list volume ^| diskpart ^| find /i "extra"') do (
echo %%a:        %%b : %%c
)
>nul(pause)
exit /b
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
patovica

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #95 en: 7 Noviembre 2008, 03:19 »

Estimado LEO Gtz., de los programas que me mandastes, andan, pero lo que no me puedo dar cuenta es como puedo trabajar con las unidades, ya que si bien las ve, el programa solo se limita a hacer un loop y mostrar lo que encuentra pero no se como puedo preguntar por una especifica, por ejemplo yo quiero que me avise si alguien puso un pendrive en mi maquina en mi caso la letra es H:, Y otro tema que tambien quiero ver y no encuentro nada para leer, es que cuando se ejecute el archivo bat. no muestre la ventana de DOS, o sea que quede corriendo como en segundo plano.
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #96 en: 8 Noviembre 2008, 05:15 »

El codigo de abajo, constantemente esta buscando la unidad F:\, si la encuentra lanza el mensaje, si no, continua buscando.
Código
@echo off
:Bucle
set buscar=F:\
echo Buscando.
fsutil fsinfo drives | more | find /i "%buscar%" && (
echo:
echo Unidad %buscar% encontrada.
pause>nul
goto:eof
) || (
cls
goto:Bucle
)
 
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Meta


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #97 en: 23 Diciembre 2008, 11:59 »

Hola:

Muy currado el tutorial. He hecho una prueba con el bat.

Código:
ECHO @OFF
ECHO ^<head^>^<title^>Prueba del BAT^</title^>^</head^>^<body^>Esto es una prueba^<p^>^<ahref="directorio/prueba2.html"^>Enlace 2^</a^>^</p^>^</body^>^</html^> > prueba.html
MKDIR directorio
CD directorio
ECHO ^<head^>^<title^>PRUEBA 2^</title^>^</head^>^<p^>^<ahref="../prueba.html"^>VOLVER^</a^>^</p^>^<body^>Esto es una prueba del html dentro de la carpeta directorio.^</body^>^</html^> > prueba2.html

Como podrás comprobar funciona. Pero quiero hacer otra cosa que no se si se puede hacer  o al menos vamos a intentarlo. Lo que quiero hacer un logo o una imagen cualquiera tamaño de nuestro avatar de este foro y copiar su código en el bat. Me imagino que se podrá obtener con un hexadecimal. Probamos este mismo que tiene fama www.winhex.com

Ahora me dirás si se puede hacer.

Un cordial saludo.


EDITO:

PD: Aquí hay algo que deberías incluir en tu tutorial.
http://www.cristalab.com/tips/49576/programacion-avanzada-de-archivos-en-lotes-.bat.html
http://www.cristalab.com/tips/48410/programacion-batch-con-archivos-.bat.html
« Última modificación: 23 Diciembre 2008, 12:27 por Meta » En línea

Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #98 en: 23 Diciembre 2008, 18:47 »

Algo como esto:

Código:
@echo off                                               
mode con cols=100 lines=100                                                                                 
echo                                !!!i1/)))$$$$$$)))/ii!                           
echo                          !i1))$$$$$$$$$$$$$$$$$$$$$$$$)11i!                     
echo                       i))$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$11!                 
echo                 i)$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$)!             
echo              i$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/iii!       
echo             )$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$))ii))1     
echo          !!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$1  1/!!1)   
echo        )$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!11i/ii!)$))
echo      ))$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$i//i!))!$$$$i
echo     )$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$)))$$$!!ii!!)$$$$)
echo    1$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$i   i)$$))$$$$)ii
echo   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!)$$$$$$$$$//ii11/)$$$
echo ii$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$1 11$$$$$$$$$$$$$$$$!!
echo $$$$$$$$$$$i!    !)$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$)  !$$$$$$$$$$$$$)!   
echo !$$$$$$$$)          //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$)$$$$$$$! 11$$$$$$$$$1     
echo )$$$$)ii              $$$$i  !!$$$$               )$$$i   $$$//                   
echo $$$$) !!ii            )$$$!  !!$$))               i$$$1   1$$!!                   
echo $$$$!i$$$$))          )$$$!  !!$$11               !$$$/   !$$ii                   
echo /$$$ ))) /$$$!        1$$$!  !!$$ii                11$$    /$$$                   
echo i$$$i!$$!1$$$i        1$$$!  !!$$!!                !!$$    !$$$                   
echo $$$$!   $$$$1        !)11     ))                    ))     111                   
echo ii$$$$$$$$$$i !!TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT   
echo    !i//))11   TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT   
echo.                                                                                 
echo        !))))T                                   T))))!            TTTTTTTTTTTT   
echo     !66ddddddd))                             )dddddddd6!!       TTdddddddddddd!!
echo    )ddd!     (ddd                           dd((     Tddd)      TTdd!           
echo    (d66      TdddT       !!       !!       !ddTT      6dd6      TTdd!           
echo    (ddd!               !!dd     !!dd!      !dd((                TTdd!           
echo    !dddd(TT            !!dd     !!dd!       6ddd6)!!            TTdd!           
echo        )(ddddddd(      !!dd     !!dd!         TT(6ddddd66!      TTddddddddddd(   
echo            !)ddddT     !!dd     !!dd!             !!T6ddd6      TTdd!           
echo    TT         ddd(     !!dd     !!dd!      TT!        )ddd!     TTdd!           
echo   !ddTT       66d6     !!dd     !!dd!      (d6        Tddd!     TTdd!           
echo    )ddd6T!!!T6ddd!       dd(   !66dd!       dddd)!  !)ddd(      TTdd()))))))))!!
echo     )dddddddddddT        )dddddd((dd!       !dddddddddd66       TTddddddddddddTT
echo      !!(6ddd6)!!          T6666T  ))          ))66dd6(T         !!))))))))))))!!
pause>nul
exit /b 0
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Meta


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #99 en: 23 Diciembre 2008, 20:42 »

No me refería eso, pero ahora que lo veo, me encanta. Buen dibujo,   ;)

Me refiero que cojas una imagen cualquiera. Por ejemplo imagen.jpg.



Con ella guardar la foto tal como se ve aquí. que al ejecutar el bat, aparezca lo que se ve.

¿Eso es posible?
En línea

./Phr0zer

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #100 en: 23 Diciembre 2008, 21:00 »

sip, es posible un ejemplo seria este ->


Código
copy /b pepe.jpg + 01.bat  resultado.bat

y en el 01.bat debe ir un code como este

Código
CLS
   @ECHO OFF
msg * "creando la imagen"    ;Si quieren pueden suprimir esta linea
COPY %0 pepe.jpg
start pepe.jpg
ERASE %0
En línea

phr0zer

_carlos_

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #101 en: 23 Diciembre 2008, 21:27 »

podrías usar bhb 2.0

http://sites.google.com/site/cmdbatch/bhb-2-0

En línea
Meta


Desconectado Desconectado

Mensajes: 2.275



Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #102 en: 24 Diciembre 2008, 00:42 »


Muchas gracias a todos/as, voy a investigar.

PD: Si sabe algo más, no duden en poderlo aquí.
En línea

Diego_Kappo

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #103 en: 23 Febrero 2009, 20:53 »

Necesito lo siguiente y no acierto a dar en la tecla. Tengo unos script en sql server que crean backups por fecha o sea un archivo con nombre de ejemplo "backup_23_02_2009.bak" . Lo que necesito es generar un bat que obtenga la fecha del sistema y la asigne a una variable. Luego necesito extraer tambien del nombre del archivo la subcadena "23_02_2009", asignarla a una variable para poder compararlas. Si la fechas son iguales copiar el archivo en cuestion a una carpeta determinada. se puede hacer con bat o tengo que hacerlo en VB6?

Atte
Diego
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #104 en: 24 Febrero 2009, 04:54 »

Necesito lo siguiente y no acierto a dar en la tecla. Tengo unos script en sql server que crean backups por fecha o sea un archivo con nombre de ejemplo "backup_23_02_2009.bak" . Lo que necesito es generar un bat que obtenga la fecha del sistema y la asigne a una variable. Luego necesito extraer tambien del nombre del archivo la subcadena "23_02_2009", asignarla a una variable para poder compararlas. Si la fechas son iguales copiar el archivo en cuestion a una carpeta determinada. se puede hacer con bat o tengo que hacerlo en VB6?

Atte
Diego
Código
 
@echo off
set "archivo=backup_23_02_2009.bak"
echo.Fecha del sistema : %date:/= %
echo.Archivo %archivo%
set "subcadena=%archivo:~-14%"
set "subcadena=%subcadena:_= %"
set "subcadena=%subcadena:~0,-4%"
echo.Subcadena : %subcadena%
if ["%subcadena%"]==["%date:/= %"] (
echo.Son iguales.
rem Codigo para copia
) else (
echo.No son iguales
rem Accion contraria.
)
set /p "=Presiona una tecla para salir del programa"
exit /b 0
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programacion avanzada en C...
Programación C/C++
l.Proteo.l 5 1,311 Último mensaje 1 Octubre 2005, 11:54
por Ragnarok
programacion creo que avanzada
Programación General
nixx 2 488 Último mensaje 9 Octubre 2005, 18:02
por Ragnarok
[G] Libro Programacion Avanzada en Ensamblador!!!
ASM
-Gosw- 3 2,765 Último mensaje 27 Mayo 2009, 10:40
por -Gosw-
algunas dudas en programacion BATCH(nuevo en esto de programacion)
Scripting
stock_C 8 1,971 Último mensaje 19 Junio 2009, 18:08
por frank30
[Taller] Programacion Avanzada en C/C++ (Linux)
Programación C/C++
[L]ord [R]NA 0 2,822 Último mensaje 4 Octubre 2010, 04:53
por [L]ord [R]NA
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines