Ventana de diálogo: Lista de archivos/carpetas
greg6614
Mensajes publicados
629
Estado
Miembro
-
greg6614 Mensajes publicados 629 Estado Miembro -
greg6614 Mensajes publicados 629 Estado Miembro -
Bonjour, voici la traduction en espagnol fidèle au texte fourni :
Hola a vosotros, estoy desarrollando una pequeña aplicación por lotes para uso personal para copias de seguridad de archivos y, dentro de ella, quiero llamar a 2 programas, si es posible en VBS. El primero hace aparecer un cuadro de diálogo para elegir la carpeta de destino de la copia de seguridad, para eso no tengo problemas, ya he encontrado el código fuente en la red que he podido adaptar en batch, y para el segundo me gustaría hacer aparecer un cuadro de diálogo que permita hacer un listado para poder elegir los archivos y/o carpetas a guardar.
No entiendo nada de VBS o C, por eso me dirijo a vosotros. Si tenéis una solución, si es posible en VBS la tomo, si no, en C también, pero tendré que probar compilándolo para hacer un comando externo.
Gracias de antemano por vuestra ayuda y que tengáis un buen día :)
Configuración: Windows 7 / Firefox 20.0
--
Con la esperanza de haber ayudado
Greg
No entiendo nada de VBS o C, por eso me dirijo a vosotros. Si tenéis una solución, si es posible en VBS la tomo, si no, en C también, pero tendré que probar compilándolo para hacer un comando externo.
Gracias de antemano por vuestra ayuda y que tengáis un buen día :)
Configuración: Windows 7 / Firefox 20.0
--
Con la esperanza de haber ayudado
Greg
Enlaces relacionados:
- [batch] mover carpetas y archivos
- [Listar carpetas y subcarpetas.]
- BATCH Eliminación de subarchivos/carpetas en un directorio
- Batch para listar número de archivos, carpeta y fecha de creación
- Un archivo .bat para listar las carpetas con su fecha de última modificación
- Crea un archivo vbs con un script por lotes.
12 respuestas
-
hola,
no estoy seguro de que C o VBS sean lo más indicados para lo que quieres hacer.
¿Cómo imaginas la interfaz de selección del/los archivos y carpetas a respaldar?
¿Siempre están en el mismo directorio donde tienes archivos/carpetas que deseas respaldar? ¿O quisieras poder recorrer todo tu disco? -
Hola, muchas gracias por tu respuesta, de hecho quiero poder recorrer mi disco duro porque los archivos/carpetas pueden cambiar. Para la interfaz, algo que permita la selección de una lista de archivos y carpetas y que permita visualizar los archivos seleccionados con, por ejemplo, un botón "agregar" "eliminar" y "cancelar". Te enviaré una captura mañana si encuentro un ejemplo que ilustre bien.
Gracias por tu ayuda (; -
Hola,
Sí, bueno, con VBS no sería fácil, no sabe hacerlo de forma nativa (con tu diálogo ya casi lo has llevado al límite :) ).
... Tal vez llamando a DLLs si tienen una interfaz COM o construyéndole una interfaz HTML ... Para C no lo sé, nunca he hecho más que aplicaciones de "consola" con ...
Quizá optar por una programación en VB, C++ / C# .Net. -
Este es el código VBScript que permite seleccionar la carpeta de guardado en VBScript:
Option Explicit WScript.Echo BrowseFolder^( "My Computer", False ^) Function BrowseFolder^( myStartLocation, blnSimpleDialog ^) Const MY_COMPUTER = ^&H11^& Const WINDOW_HANDLE = 0 Dim numOptions, objFolder, objFolderItem Dim objPath, objShell, strPath, strPrompt strPrompt = "Où voulez vous enregistrer le fichier:" If blnSimpleDialog = True Then numOptions = 0 Else numOptions = ^&H10^& End If Set objShell = CreateObject^( "Shell.Application" ^) If UCase^( myStartLocation ^) = "%userprofile%" Then Set objFolder = objShell.Namespace^( MY_COMPUTER ^) Set objFolderItem = objFolder.Self strPath = objFolderItem.Path Else strPath = myStartLocation End If Set objFolder = objShell.BrowseForFolder^( WINDOW_HANDLE, strPrompt, _ numOptions, strPath ^) If objFolder Is Nothing Then BrowseFolder = "" Exit Function End If Set objFolderItem = objFolder.Self objPath = objFolderItem.Path BrowseFolder = objPath End Function
Preciso esclarecer que este código não é meu, eu não mexo com VBScript habitualmente.
E aqui está a interface que gostaria de obter --> https://www.commentcamarche.net/faq/33514-vb6-vba-selectionner-une-liste-de-fichier-avec-explorateur-win
Em relação aos outros linguagens que você menciona, não os conheço muito bem e prefiro, se possível, ficar em batch.
Obrigado pela sua ajuda (:
PS: Também encontrei alguns códigos VBScript para abrir uma caixa de diálogo permitindo selecionar um arquivo para abrir, mas não é exatamente o que procuro. O link anterior ilustra bem o que eu gostaria. -
He codificado soluciones profesionales en VBS, instaladores, interfaces HTML, conexión a bases de datos, transferencia de datos, etc...
Ya intuía un poco lo que querías... Pero en tu captura parece más VB que VBS. Se parecen, pero VB está compilado, a diferencia de VBS...
No tengo una solución a mano :-)
Por otro lado, en otros lenguajes es pan comido... -
Me incomoda VB, solo necesito encontrar cómo compilarlo y podría adaptarlo al batch; creo que lo que podría hacer el VB llamado por el batch es guardar la lista de ficheros y carpetas elegidos en un archivo txt en, por ejemplo, la carpeta temporal de Windows, para que pueda recuperarlo con mi batch.
¿Crees que es posible?
--
Esperando haberte ayudado
Greg -
Hola,
todo es siempre posible, o casi, pero si ya vamos a meternos en VB, quizá sea mejor hacerlo todo ahí dentro ... -
El problema es que no sé nada de VB.
--
Con la esperanza de haberte ayudado
Greg -
Tu proyecto es bastante básico.
(Selección objetivo, recorrido de la estructura, selección fuente(s), Copia de archivo(s)/carpeta(s))
puede ser una oportunidad ... Los tutoriales bien hechos deben abordar todos los aspectos de la programación (en el lenguaje de tu elección) de los que podrías necesitar, y encontrarás muchos ejemplos en la web.
Si no, hay que hacer una pequeña usine à gaz.
(En el otro sentido, parece más lógico: Selección de los archivos fuente a copiar/resguardar, y luego del soporte de respaldo.) -
Voy a ver lo que encuentro, gracias por tu ayuda. (:
--
Espero haberte ayudado
Greg -
Hola, he probado tu script, no está mal.
Me pregunto si no sería posible adaptar el ejemplo a VBA para tu caso. Lo miraría mañana si tengo fuerzas. (Estoy reinstalando un servidor en Linux, y me lleva un poco de tiempo, pero las compilaciones son largas en un P4). -
No problem, take your time. Thanks again for your help, I’ll continue searching on my end (:
--
Hoping I could help you
Greg