Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Sk9ITk5Z en 27 Enero 2012, 16:28 pm



Título: Ayuda para el manejo de archivos[Solucuionado]
Publicado por: Sk9ITk5Z en 27 Enero 2012, 16:28 pm
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...


Título: Re: Ayuda para el manejo de archivos...
Publicado por: Maurice_Lupin en 27 Enero 2012, 19:49 pm
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
Código:
ruta2 = ruta1
ruta2 = ruta2.replace("www.pagina.com ","")

 ya sólo te quedaria renombrar

FileSystem.RenameFile(ruta1, ruta2)

O lo podrias hacer manualmente  ;D



Título: Re: Ayuda para el manejo de archivos...
Publicado por: Sk9ITk5Z en 27 Enero 2012, 20:43 pm
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
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.  
  3. Dim ContadorDeArchivos As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
  4.        Dim resultado As System.Windows.Forms.OpenFileDialog
  5.        resultado = New System.Windows.Forms.OpenFileDialog()
  6.  
  7.        resultado.ShowDialog()
  8.        'obtenemos la ruta de los archivos y la guardamos en un textbox
  9.        TextBox2.Text = IO.Path.GetDirectoryName(resultado.FileName)
  10.  
  11.        'le indicamos el path que queremos  
  12.        ContadorDeArchivos = My.Computer.FileSystem.GetFiles(TextBox2.Text)
  13.        'nos devuelve la cantidad de archivos  
  14.        TextBox3.Text = CStr(ContadorDeArchivos.Count)
  15.  
  16.  
  17.        For i = 0 To TextBox3.Text - 1
  18.            ListBox1.Items.Add(ContadorDeArchivos.Item(i))
  19.        Next
  20.  
  21.    End Sub
  22.  
  23.  
  24.  
  25.  



Título: Re: Ayuda para el manejo de archivos[Solucuionado]
Publicado por: Sk9ITk5Z en 31 Enero 2012, 17:27 pm
Pues ya termine el programita me quedo a si:

(http://s3.subirimagenes.com:81/otros/previo/thump_7385331programa.jpg)

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
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.        Dim resultado As System.Windows.Forms.OpenFileDialog
  3.        resultado = New System.Windows.Forms.OpenFileDialog()
  4.        Dim cadena As String
  5.        Dim a As Integer
  6.        Dim Archivo As String
  7.  
  8.        resultado.ShowDialog()
  9.        'obtenemos la ruta de los archivos y la guardamos en un textbox
  10.        TextBox2.Text = IO.Path.GetDirectoryName(resultado.FileName)
  11.  
  12.        'le indicamos el path que queremos y lo garda en un textbox
  13.        ContadorDeArchivos = My.Computer.FileSystem.GetFiles(TextBox2.Text, FileIO.SearchOption.SearchAllSubDirectories)
  14.        'nos devuelve la cantidad de archivosy los muestra en un textbox
  15.        TextBox3.Text = CStr(ContadorDeArchivos.Count)
  16.  
  17.        'obtenemos solo el nombre de los archivos
  18.  
  19.        For i = 0 To TextBox3.Text - 1
  20.            cadena = ContadorDeArchivos.Item(i)
  21.            a = cadena.LastIndexOf("\")
  22.            If a <> -1 Then
  23.                Archivo = cadena.Substring(a + 1, cadena.Length - a - 1)
  24.            End If
  25.            ListBox1.Items.Add(Archivo)
  26.        Next
  27.  
  28.    End Sub
  29.  
  30.  

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
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim frase As String
  3.        i = 0
  4.  
  5.        frase = TextBox1.Text
  6.        For i = 0 To TextBox3.Text - 1
  7.            ListBox1.Items(i) = ListBox1.Items(i).replace(TextBox1.Text, "")
  8.        Next
  9.  
  10.  
  11.    End Sub
  12.  
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
  1. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  2.        i = 0
  3.  
  4.  
  5.        For i = 0 To TextBox3.Text - 1
  6.  
  7.            ' Poner el nuevo nombre
  8.            My.Computer.FileSystem.RenameFile(ContadorDeArchivos.Item(i), ListBox1.Items(i))
  9.  
  10.        Next
  11.        MsgBox("Nombres cambiados correctamente")
  12.  
  13.    End Sub
  14.  


y eso es todo...