none
Copiar archivo .exe ascendente RRS feed

  • Pregunta

  • Buenas noches Amigos del foro.

    tengo un carpeta con varios archivos .exe nombrados asi 

    RMP00001.exe

    RMP00002.exe

    RMP00003.exe

    quisiera copiar uno por uno de forma ascendente o por fecha de creación si alguien tiene una idea de como hecharme una manito se lo agradeceria.

    Saludos,

    martes, 1 de octubre de 2013 2:29

Respuestas

  • Buenas tardes Sergio, gracias por el apoyo pase el codigo que me diste a windows forms, pero no veo como establecer la ruta de guardado en la nueva carpeta. tambien desearia que si hubiese la posibilidad de copiar se pudiera mover archivo por archivo y asi no dejar rastro en la carpeta de origen del archivo movido. de acuerdo a la fecha.

    saludos,

    Private Sub CopiarToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CopiarToolStripMenuItem.Click
            Dim sFullName As String = String.Empty
            Dim sExtension As String = String.Empty
            Dim sName As String = String.Empty
            Dim nombre As String
            Dim extension As String

            Dim di As New DirectoryInfo("D:\CLIENTE\prueba")
            Dim rgFiles As FileInfo() = di.GetFiles()
            Dim tiempoOrdenacion As DateTime = DateTime.Parse("01/04/2013")

            For Each fi As FileInfo In rgFiles
                If fi.FullName.ToUpper().Contains(".EXE") Then
                    If fi.LastWriteTime > tiempoOrdenacion Then
                        tiempoOrdenacion = fi.LastWriteTime
                        sFullName = fi.FullName
                        sExtension = fi.Extension
                        sName = fi.Name
                    End If
                End If
            Next
            Nombre = sName
            Extension = sExtension
        End Sub

    • Marcado como respuesta karlosc lunes, 30 de junio de 2014 1:14
    martes, 1 de octubre de 2013 17:08

Todas las respuestas

  • Con linq : 

    string dir = @"C:\BorderGuard\Images";
                string exten = "_VC.JPG";
                DirectoryInfo path = new DirectoryInfo(dir);
                //*****CODIGO PARA OBTENER EL ULTIMO ARCHIVO SEGUN EL TIPO DE FINALIZACION 
                var directory = path;
                var ultimo_archivo =
                    (
                    from f in directory.GetFiles()
                    where f.Name.ToUpper().Contains(exten)
                    orderby f.LastWriteTime
                    descending
                    select f
                    ).First();
                
    
                Nombre = ultimo_archivo.ToString();
                Extencion = ultimo_archivo.Extension;

    Sin linq:

    string sFullName = string.Empty;
                string sExtension = string.Empty;
                string sName = string.Empty;
    
                
                    DirectoryInfo di = new DirectoryInfo(ruta);
                    FileInfo[] rgFiles = di.GetFiles();
                    DateTime tiempoOrdenacion = DateTime.Parse("01/01/0001");
    
                    
    
                    foreach (FileInfo fi in rgFiles)
                    {                
                        if (fi.FullName.ToUpper().Contains(exten)   )
                        {
                            if (fi.LastWriteTime > tiempoOrdenacion)
                            {
                                tiempoOrdenacion = fi.LastWriteTime;
                                sFullName = fi.FullName;
                                sExtension = fi.Extension;
                                sName = fi.Name;
                            }                                        
                        }
                    }
                    Nombre = sName;
                    Extencion = sExtension;

    Suerte y nos comentas tus dudas

    • Propuesto como respuesta Sergio Parra martes, 1 de octubre de 2013 5:47
    martes, 1 de octubre de 2013 3:17
  • Buenas tardes Sergio, gracias por el apoyo pase el codigo que me diste a windows forms, pero no veo como establecer la ruta de guardado en la nueva carpeta. tambien desearia que si hubiese la posibilidad de copiar se pudiera mover archivo por archivo y asi no dejar rastro en la carpeta de origen del archivo movido. de acuerdo a la fecha.

    saludos,

    Private Sub CopiarToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CopiarToolStripMenuItem.Click
            Dim sFullName As String = String.Empty
            Dim sExtension As String = String.Empty
            Dim sName As String = String.Empty
            Dim nombre As String
            Dim extension As String

            Dim di As New DirectoryInfo("D:\CLIENTE\prueba")
            Dim rgFiles As FileInfo() = di.GetFiles()
            Dim tiempoOrdenacion As DateTime = DateTime.Parse("01/04/2013")

            For Each fi As FileInfo In rgFiles
                If fi.FullName.ToUpper().Contains(".EXE") Then
                    If fi.LastWriteTime > tiempoOrdenacion Then
                        tiempoOrdenacion = fi.LastWriteTime
                        sFullName = fi.FullName
                        sExtension = fi.Extension
                        sName = fi.Name
                    End If
                End If
            Next
            Nombre = sName
            Extension = sExtension
        End Sub

    • Marcado como respuesta karlosc lunes, 30 de junio de 2014 1:14
    martes, 1 de octubre de 2013 17:08