Ayuda para el manejo de archivos[Solucuionado]

Iniciado por Sk9ITk5Z, 27 Enero 2012, 16:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Sk9ITk5Z

Tengo una carpeta con archivos .mp4, son capítulos de un anime, el detalle es que el titulo de cada capitulo dice "nombre del anime + capitulo 00x + el nombre del capitulo + la pagina de donde se descargo" osea que esta larguísimo el nombre y lo que quiero es hacer un programita para eliminar partes del titulo para que no este tan largo.
mi idea es hacer un formulario con dos botones uno de examinar para elegir la carpeta con los archivos y el otro de borrar para que elimine lo que yo quiera y un textbox donde le voy a decir que es lo que quiero borrar de cada archivo.

por ejemplo decirle quiero que me elimines www.pagina.com ya que todos los archivos traen esa pagina me ara lo mismo para todos.


me pueden orientar un poco de como hacerlo, que clases o librerías usar...
Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.

Maurice_Lupin

busca funciones para renombrar archivos y lo demas ya depende de ti, podrias listas primero los archivos, captar los nombres y con un simple replace

http://www.recursosvisualbasic.com.ar/htm/vb-net/3-ejemplos-con-archivos-en-vb-net.htm

ejm
ruta2 = ruta1
ruta2 = ruta2.replace("www.pagina.com ","")

ya sólo te quedaria renombrar

FileSystem.RenameFile(ruta1, ruta2)


O lo podrias hacer manualmente  ;D

Un error se comete al equivocarse.

Sk9ITk5Z

#2
ok gracias por el dato, lo checo...

EDITO:

hasta ahorita ya me funciona el botón de examinar que es para indicarle al programa donde están los archivos a manejar, la ruta la guardo en un textbox y la lista de los archivos.

boton examinar
Código (vbnet) [Seleccionar]

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim ContadorDeArchivos As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
       Dim resultado As System.Windows.Forms.OpenFileDialog
       resultado = New System.Windows.Forms.OpenFileDialog()
       
       resultado.ShowDialog()
       'obtenemos la ruta de los archivos y la guardamos en un textbox
       TextBox2.Text = IO.Path.GetDirectoryName(resultado.FileName)

       'le indicamos el path que queremos  
       ContadorDeArchivos = My.Computer.FileSystem.GetFiles(TextBox2.Text)
       'nos devuelve la cantidad de archivos  
       TextBox3.Text = CStr(ContadorDeArchivos.Count)


       For i = 0 To TextBox3.Text - 1
           ListBox1.Items.Add(ContadorDeArchivos.Item(i))
       Next

   End Sub





Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.

Sk9ITk5Z

Pues ya termine el programita me quedo a si:



primero se usa el botón examinar para indicarle donde se encuentras los archivos a trabajar y también en un textbox pongo  la cantidad de archivos que son y en una lista el nombre de los archivos.

Código (vbnet) [Seleccionar]

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim resultado As System.Windows.Forms.OpenFileDialog
        resultado = New System.Windows.Forms.OpenFileDialog()
        Dim cadena As String
        Dim a As Integer
        Dim Archivo As String

        resultado.ShowDialog()
        'obtenemos la ruta de los archivos y la guardamos en un textbox
        TextBox2.Text = IO.Path.GetDirectoryName(resultado.FileName)

        'le indicamos el path que queremos y lo garda en un textbox
        ContadorDeArchivos = My.Computer.FileSystem.GetFiles(TextBox2.Text, FileIO.SearchOption.SearchAllSubDirectories)
        'nos devuelve la cantidad de archivosy los muestra en un textbox
        TextBox3.Text = CStr(ContadorDeArchivos.Count)

        'obtenemos solo el nombre de los archivos

        For i = 0 To TextBox3.Text - 1
            cadena = ContadorDeArchivos.Item(i)
            a = cadena.LastIndexOf("\")
            If a <> -1 Then
                Archivo = cadena.Substring(a + 1, cadena.Length - a - 1)
            End If
            ListBox1.Items.Add(Archivo)
        Next

    End Sub



Luego en otro textbox le indicas la frase que quieres eliminar del nombre de los archivos y le das click en el botón eliminar que seria  a si:

Código (vbnet) [Seleccionar]

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim frase As String
        i = 0

        frase = TextBox1.Text
        For i = 0 To TextBox3.Text - 1
            ListBox1.Items(i) = ListBox1.Items(i).replace(TextBox1.Text, "")
        Next


    End Sub

con esto eliminas la frase que pusiste en el textbox, pero la eliminas de la lista. despues se reemplaza el nombre de la siguiente manera con el botón Reemplazar nombres:

Código (vbnet) [Seleccionar]

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        i = 0


        For i = 0 To TextBox3.Text - 1

            ' Poner el nuevo nombre
            My.Computer.FileSystem.RenameFile(ContadorDeArchivos.Item(i), ListBox1.Items(i))

        Next
        MsgBox("Nombres cambiados correctamente")

    End Sub



y eso es todo...
Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.