none
FolderBrowserDialog 7zip RRS feed

  • Pregunta

  • Hola amigos, aqui les traigo un problema que no le veo la solucion, el codigo sirve solo que aplica a archivos individuales, ocurre que al yo adaptar el folderbrowserdialog ael , logro seleccionar mi carpeta mas no logro que el 7zip haga su trabajo con la carpeta , me podrian decir que falta? 

    private void button_Click(object sender, RoutedEventArgs e)
            {
                // Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); PARA SELECCIONAR ARCHIVOS
                FolderBrowserDialog ofd = new FolderBrowserDialog(); //PARA SELECCIONAR CARPETAS
    
                //ofd.Title = "Archivos a Comprimir"; *
                //ofd.Filter = "Archivos a Comprimir|*.*"; *
                ofd.Description = "Seleccione la carpeta a comprimir";
                //ofd.Multiselect = true; *
                ofd.RootFolder = Environment.SpecialFolder.Desktop;
                //if ((ofd.ShowDialog() == true))*
                if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    //System.IO.StreamWriter sw = new System.IO.StreamWriter("listfile.lst");
                    //Crea una lista de archivos
                    //foreach (string n in ofd.FileNames) *
                    foreach (string n in ofd.FileNames)<--- aqui me da error pero no se que aplicar o poner para q sirva, intente con SelectedPath y me da error en el forech
                    {
                        sw.WriteLine(n);
                    }//foreach
                    sw.Close();
    
                    string targetName = (DateTime.Now.ToString("dd-MM-yy---h-mm-sst"));
                    //Carpeta de destino
                    string pathDestination = @"C:\ComprimidosAsistente\";
                    ProcessStartInfo p = new ProcessStartInfo();
                    p.FileName = @"Procesos\7z.exe";
    
                    p.Arguments = "a " + pathDestination + targetName +" @listfile.lst" + "-t7z -mx=9";
                    p.WindowStyle = ProcessWindowStyle.Hidden;
                    Process x = Process.Start(p);
                    habla.SpeakAsync("Esto puede tardar, dependiendo del tamaño del archivo");
                    x.WaitForExit();
                    File.Delete("listfile.lst");
                    List<string> listaderespuestas11 = new List<string> { "Compresión Finalizada", "Compresión terminada", "la compresión se realizó con exito", "proceso terminado" };
                    Random rnd11 = new Random();
                    int index11 = rnd11.Next(0, listaderespuestas11.Count);
                    habla.SpeakAsync(listaderespuestas11[index11].ToString());
                } //if
            }
    espero puedan ayudarme, el objetivo es que asi como puedo seleccionar archivos y comprimirlos, con este codigo "nuevo" seleccionar carpetas y que ocurra lo mismo

    miércoles, 6 de diciembre de 2017 17:14

Todas las respuestas

  • Hola Como activar opciones en asp.net

    Con base a tu consulta, te colocaré el siguiente enlace, en donde muestra un código que es similar al que estás desarrollando y que puede serte útil
    https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netframework-4.7.1

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 6 de diciembre de 2017 18:16
    Moderador
  • Gracias por la informacion, aunque me ayudaria mas que agregaras al codigo que coloque lo que hace falta, por que viendo el otro me perdi aun mas. Si puedes resolver eso seria de gran ayuda para mi
    miércoles, 6 de diciembre de 2017 18:35
  • Hola Como activar opciones en asp.net

    Con base a tu consulta, coloqué el enlace ya que esta un poco largo y la caja de respuestas, tiene un límite de escritura.

    Yo te recomiendo que pruebes el código de ejemplo del enlace, ya sea en una aplicación de consola e C#.

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 6 de diciembre de 2017 19:02
    Moderador