Pada artikel kali ini, kita bakal bikin aplikasi File Renamer, yang berfungsi buat merename banyak file dengan 1 klik (tentu menggunakan 1 format yang sama dong)
Pertama, kita buat dulu ui yang akan kita gunakan, seperti ini :
Tab Renamer berfungsi untuk merename file dengan menambahkan Prefix dan Suffix terhadap nama file, sementara tab replacer berfungsi untuk mereplace string dalam file.
nah setelah membuat ui seperti diatas, kita harus menambahkan namespace seperti dibawah ini
using System.IO;
kemudian kita perlu fungsi untuk membuka FolderBrowser pada button [Browse]dan memilih direktori yang akan kita kerjakan, dengan menambahkan kode seperti dibawah ini
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK)
{
if (tabControl1.SelectedTab == tabPage1) // validasi menghindari user memilih direktori di tab rename
{ // kemudian pindah tab, maka textbox menampung direktori
textBox1.Text = fbd.SelectedPath; // dihapus
textBox6.Clear();
}
else
{
textBox6.Text = fbd.SelectedPath;
textBox1.Clear();
}
}
kemudian pada button [Rename], kita tambahkan kode seperti dibawah ini
if (textBox1.Text.Equals(""))//validasi apakah direktori telah dipilih
{
cmd.cetakGagal("Select the Directory First");
}
else
{
Rename(textBox2.Text, textBox1.Text, textBox3.Text);
//textbox 2 = field prefix, textbox1 = field direktori, textbox 3 = field suffix
}
dan kode pada fungsi Rename() seperti dibawah ini
private void Rename(string prefix, string filepath, string suffix)
{
DirectoryInfo d = new DirectoryInfo(filepath);
FileInfo[] file = d.GetFiles();
if (cmd.cetakTanya("The whole filename will be renamed, are you sure ?"))
{
try
{
foreach (FileInfo f in file)
{
string namafile = Path.GetFileNameWithoutExtension(f.FullName);
string ext = Path.GetExtension(f.FullName);
File.Move(f.FullName, filepath + '\\' + (prefix + namafile + suffix) +ext);
}
}
catch (Exception e)
{
cmd.cetakGagal(e.ToString());
}
cmd.cetakSukses("Rename Success");
}
}
nah itu tadi untuk merename file, yakni menambahkan prefix dan suffix pada nama file secara serentak.bagaimana jika ingin menghilangkan kata tertentu dari nama file ? misalnya waktu download belasan part dari indowebster, nama filenya tertulis [www.indowebster.com] dan saya harus merename 1 per 1. ada cara lebih mudah ?tentu saja ada ! dengan menggunakan fitur replace, yang fungsi rename tadi kita ubah menjadi fungsi replace seperti dibawah ini :
private void Replace(string replace, string filepath, string by)
{//replace field kata yang ingin di replace, filepath adalah nama file, By adalah kata yang ingin digunakan untuk mereplace
DirectoryInfo d = new DirectoryInfo(filepath);
FileInfo[] file = d.GetFiles();
if (cmd.cetakTanya("The whole filename will be replaced, are you sure ?"))
{
try
{
foreach (FileInfo f in file)
{
string namafile = Path.GetFileNameWithoutExtension(f.FullName);
string ext = Path.GetExtension(f.FullName);
string replaced = namafile.Replace(replace, by);
File.Move(f.FullName, filepath + '\\' + replaced + ext);
}
}
catch (Exception e)
{
cmd.cetakGagal(e.ToString());
}
cmd.cetakSukses("Rename Success");
}
bagaimana ? mudah bukan ? aplikasi ini bisa kamu download, gunakan, dan bagikan secara gratis ke semua orang. Happy Sharing !
0 komentar
Post a Comment