elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
22 Marzo 2010, 03:57  


Temas destacados: Grupo de Facebook de elhacker.net


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

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #90 en: 02 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: 3


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #91 en: 03 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: 1.331



Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #92 en: 04 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

La gran pelea:
Leo Gutiérrez.
Moderador
*****
Desconectado Desconectado

Mensajes: 1.331



Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #93 en: 04 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

La gran pelea:
Leo Gutiérrez.
Moderador
*****
Desconectado Desconectado

Mensajes: 1.331



Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #94 en: 04 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

La gran pelea:
patovica

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #95 en: 07 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: 1.331



Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #96 en: 08 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

La gran pelea:
Meta

Desconectado Desconectado

Mensajes: 1.660



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

http://electronica-pic.blogspot.com manuales de electrónica, PIC, VC++, VC# y Visual Basic.
Leo Gutiérrez.
Moderador
*****
Desconectado Desconectado

Mensajes: 1.331



Ver Perfil
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

La gran pelea:
Meta

Desconectado Desconectado

Mensajes: 1.660



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

http://electronica-pic.blogspot.com manuales de electrónica, PIC, VC++, VC# y Visual Basic.
./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: 1.660



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

http://electronica-pic.blogspot.com manuales de electrónica, PIC, VC++, VC# y Visual Basic.
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: 1.331



Ver Perfil
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

La gran pelea:
Páginas: 1 2 3 4 5 6 [7] 8 Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

Yashira.org    Videojuegos    indetectables.net    Seguridad Informatica Colombia    Indejuegos    Internet móvil

Noticias Informatica    Seguridad Informática    ADSL    eNYe Sec    Seguridad Wireless    Underground México    Biblioteca de Seguridad

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC