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...
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
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
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
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.
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:
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:
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...