[How To] Cambiar la extensión de uno ó más archivos (VS2008, 2010)
Hola y al grano!!, hace poco me solicitaron un ejemplo de como cambiar la extensión de uno ó más archivos, recordando el curso del 70-536 para el MCTS, había un tema referente a esto, pero la verdad núnca llego a funcionar, almenos no como yo quería.
Para poder cambiar la extension de un archivo, se hace uso del método “ChangeExtension” de la clase Path, este método permite realizar el “convert” a uno ó más archivos.
NOTA: El método ChangeExtension, NO CAMBIA FÍSICAMENTE la extensión del archivo, pero si cambia la extensión de la cadena alfanumérica que representa el nombre y la ruta del archivo. ¿ ahora ?, si queremos hacer el cambio de forma física, tenemos que hacer otra jugada!!!
Desing! (más que obvio verdad…?)
Code!
using System.IO;
public void CambiarExtension(string ruta)
{
try
{
string newExtension = this.CboNuevo.Text;
string oldExtension = “*.” + this.CboAnterior.Text;
string[] files = Directory.GetFiles(ruta, oldExtension, SearchOption.AllDirectories);
foreach (var file in files)
{
string newfile = Path.ChangeExtension(file, newExtension);
File.Move(file, newfile);
}
}
catch { MessageBox.Show(“Ocurrio un Error”); }
}
private void BtnExaminar_Click(object sender, EventArgs e)
{
FolderBrowserDialog Directorio = new FolderBrowserDialog();
if (Directorio.ShowDialog() == DialogResult.OK)
{
this.txtruta.Text = Directorio.SelectedPath;
this.BtnCambiarExtension.Enabled = true;
}
}
private void BtnCambiarExtension_Click(object sender, EventArgs e)
{
try
{
this.CambiarExtension(this.txtruta.Text);
MessageBox.Show(“se cambio la extension de manera correcta”);
}
catch { MessageBox.Show(“ERROR AL INTENTAR CAMBIAR LA EXTENSION DEL ARCHIVO”); }
}
Nota: Por motivos de tiempo… (bueno en realidad por flojera…
) obviare la explicación de este código, aunque es más que sencillo entender la funcionalidad… verdad??
Enjoy!!

