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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [batch] [aporte] Bat to vbs converter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [batch] [aporte] Bat to vbs converter  (Leído 2,752 veces)
**Aincrad**


Desconectado Desconectado

Mensajes: 668



Ver Perfil WWW
[batch] [aporte] Bat to vbs converter
« en: 20 Enero 2018, 18:21 pm »

bueno como dice el titulo este es un convertidor de batch a vbs .

Yo esta mañana estaba necesitando un convertor de bat a vbs y buscando por Internet me encontré con esto :

Código
  1. @echo off
  2. set codevbs1=cmd.run "cmd /c
  3. set codevbs2=", vbHide
  4.  
  5.  
  6. echo set cmd = createobject("wscript.shell" ) >> temp.vbs
  7.  
  8. for /f "tokens=*" %%x in ('type batavbs.txt') do (echo %codevbs1% %%x %codevbs2%) >> temp.vbs
  9. type "temp.vbs

en realidad este code no me funciona , tampoco el lo creo nunca pensó que pasaría con los comandos if -else del batch a convertir .

bueno segui buscando de pagina en pagina y no encontraba nada. .. . pueden creerlo. incluso en otros foros me encontré con el mismo código inutil.

INCLUSO EN ESTE FORO HAY UN TEMA REFERENTE A ESTO " Convertir bat en vbs " PERO NO DICE ABSOLUTAMENTE NADA , OSEA NO DA NINGUNA SOLUCION A LO QUE SE BUSCA .

POR ESTO ES QUE DECIDÍ POSTEARLO EN EL FORO PARA QUE SI EN ALGÚN FUTURO ALGUIEN BUSCA LO MISMO QUE YO LO CONSIGA .  ;-)  ;D

bueno no me quedo de otra que modificar ese código a mi manera y hacerlo funcional :

Código
  1. @echo off
  2. set cd=%cd%
  3. set t=%temp%
  4. if exist "%t%\batavbs.txt" del "%t%\batavbs.txt"
  5. if exist "%t%\archivo.bat" del "%t%\archivo.bat"
  6. if exist "%t%\temp.vbs" del "%t%\temp.vbs"
  7. goto vbs
  8. :vbs
  9. color b
  10. set codevbs1=ar.writeline "
  11. set codevbs2="
  12. echo.
  13. echo  Escribe el nombre del bat a cambiar a vbs + el formato ".bat o .cmd"
  14. echo.
  15. set /p batavbs= ^>^>^>
  16. if not exist %batavbs% (goto:err)
  17. type %batavbs% > %t%\batavbs.txt
  18.  
  19. (
  20. echo Const TemporaryFolder ^= 2
  21. echo.
  22. echo Dim fso^: Set fso ^= CreateObject^("Scripting.FileSystemObject"^)
  23. echo.
  24. echo Dim tempFolder^: tempFolder ^= fso^.GetSpecialFolder^(TemporaryFolder^)
  25. echo.
  26. echo set b^=createobject^("wscript.shell"^)
  27. echo Set objfso ^= createobject^("scripting.filesystemobject"^)
  28. echo Set ar^= objfso^.createtextfile^(tempFolder ^& "archivo.bat"^,true^)
  29. echo.
  30. ) >> %t%\temp.vbs
  31.  
  32. for /f "tokens=*" %%x in ('type %t%\batavbs.txt') do (echo %codevbs1% %%x %codevbs2%) >> %t%\temp.vbs
  33. type "%t%\temp.vbs
  34.  
  35. (
  36. echo ar^.close
  37. echo b^.run tempFolder ^& "archivo.bat"^, ^1, true
  38. echo ^'Create By Salvador F. Krilewski.
  39. ) >> %t%\temp.vbs
  40. copy "%t%\temp.vbs" "%cd%\%batavbs%Converted.vbs"
  41. del "%t%\batavbs.txt"
  42. cls
  43. color a
  44. echo.
  45. echo Proceso terminado .  yyy y  PUT0 EL QUE LO LEA  jajaja
  46. echo.
  47. pause & exit
  48.  
  49. :err
  50. cls
  51. color c
  52. echo.
  53. echo EL ARCHIVO QUE ESCRIBISTE NO EXISTE PERRO
  54. ECHO.
  55. pause & exit
  56.  

bueno así es como convierte :


el bat :

Código
  1. @echo off
  2. echo hola Put0s
  3. pause

después de convertirlo a vbs :

Código
  1. Const TemporaryFolder = 2
  2.  
  3. Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")
  4.  
  5. Dim tempFolder: tempFolder = fso.GetSpecialFolder(TemporaryFolder)
  6.  
  7. set b=createobject("wscript.shell")
  8. Set objfso = createobject("scripting.filesystemobject")
  9. Set ar= objfso.createtextfile(tempFolder & "archivo.bat",true)
  10.  
  11. ar.writeline " @echo off "
  12. ar.writeline " echo hola Put0s "
  13. ar.writeline " pause "
  14. ar.close
  15. b.run tempFolder & "archivo.bat", 1, true
  16. 'Create By Salvador F. Krilewski.

y si se quiere volver invisible al ejecutar se cambia la penúltima linea por esto :

Código
  1. b.run tempFolder & "archivo.bat", vbhide, true

bueno en realidad eso no es un convertidor ya que el vbs en si genera el bat del principio jejeje bueno pero mejor es algo que nada .  ;D

este convertidor tiene un bug no voy a decir cual es pero lo que voy a decir es que para corregirlo necesito un equivalente del signo ^ de batch para vbs el que lo sepa porfavor comentelo para poder corregir el unico bug de este convertidor  ;D

Comenten . . .


  


« Última modificación: 20 Enero 2018, 18:28 pm por **Aincrad** » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines