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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch  (Leído 7,864 veces)
EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
[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..



« Última modificación: 28 Abril 2009, 07:10 am por 3D1 » En línea

maty_16_94

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch
« Respuesta #1 en: 28 Abril 2009, 06:37 am »

hola me interesa bastante el tema pero no me quedo muy claro.. como endria que hacer para usar el archivo q seleccione dentro del bat?


En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch
« Respuesta #2 en: 28 Abril 2009, 06:46 am »

Asi como señalo en la siguiente linea:
Código
  1. cscript //nologo CommonDialog.vbs>Archivo.txt
Esta parte ejecuta el commanddialog que hemos creado y manda es string del archivo seleccionado a "Archivo.txt"..
si le das click en cancelar entonces "Archivo.txt" aparece vacio, si es que seleccionas algo, aparece la ruta del archivo...
luego para usar la ruta seleccionada en Batch podrias agregarle a una variable asi:
Código
  1. Set /p RutA=<Archivo.txt
Con eso le mandas la ruta seleccionada a la variable RutA..
SaluDOS!!!
En línea

maty_16_94

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch
« Respuesta #3 en: 28 Abril 2009, 06:54 am »

jekej gracias man sos un groso

Edit: una ultima cosita... en wscript. tngoq poner algo despues del punto? x q me tira error q falta un modificador y no se donde lei un code q decia WScript.echo por ejemplo

Re-Edit:Ya lo solucione :P
« Última modificación: 28 Abril 2009, 06:59 am por maty_16_94 » En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch
« Respuesta #4 en: 28 Abril 2009, 07:00 am »

No te entendi si la ultima pregunta..
el wscript.echo no modificas para nada que es el que manda la ruta a la pantalla..
SaluDOS!!!
En línea

maty_16_94

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: [BATCH+VBS] Manual - Implementar un CommonDialog "Abrir con.." en Batch
« Respuesta #5 en: 28 Abril 2009, 07:04 am »

Naa deja fue un error mio eso... ahora el tema es que no escribe la ruta del archivo en el archivo archivo.txt me lo deja con un espacio pero no con la ruta del archivo q selecione... estoy viendo como puedo hacer para solucionar.

Saludos


EDIT: SOLUCIONADO... Muy bueno tu code gracias
« Última modificación: 28 Abril 2009, 07:09 am por maty_16_94 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Poque mi code no funciona "BATCH" [SOLUCIONADO]
Scripting
DameBanda 5 4,935 Último mensaje 27 Febrero 2011, 21:10 pm
por DameBanda
[BATCH] Asignar a una variable el caracter ">"
Scripting
Arcanine 1 2,759 Último mensaje 25 Septiembre 2011, 05:44 am
por WHK
Manual Batch (NM 2da Parte) "Malware" By 2Fac3R
Scripting
2Fac3R 0 2,087 Último mensaje 20 Octubre 2011, 22:34 pm
por 2Fac3R
Como abrir una direccion en HTA con Batch preferiblemente
Scripting
z3nth10n 0 1,538 Último mensaje 22 Mayo 2012, 21:36 pm
por z3nth10n
[BATCH] Manual de Batch (INGLÉS)
Scripting
Eleкtro 4 4,898 Último mensaje 16 Julio 2012, 17:36 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines