- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
Đổi tên file trong thư mục chỉ định với C#
Hôm nay mình xin hướng dẫn đổi tên file thành chuỗi mã hóa dạng md5 32 ký tự bằng C#. Ví dụ này sẽ đổi tên tất cả các file trong thư mục được chọn. Tùy mục đích sử dụng của các file mà mình không muốn người khác biết được quy tắc đặt tên của mình thì mình sẽ mã hóa theo dạng này.
Đầu tiên mình sẽ chọn 1 folder, sau đó lấy tất cả các file chứa trong folder đó (bao gồm cả các thư mục con), tách lấy tên và mã hóa tên theo định dạng md5 sau đó đổi tên file thành tên đã mã hóa.
Bài này mình có tham khảo bài viết của anh Cái Trí Minh https://laptrinhvb.net/bai-viet/chuyen-de-csharp/Ma-hoa-MD5-voi--Csharp-/43e4065edab328e7.html .
Bắt đầu thực hiện:
Mình sẽ tạo một solution C#, sau đó new một form như hình:
Nhấn F7 và copy hàm chuyển chuỗi ký tự thành chuỗi mã hóa MD5:
private String md5(string txt)
{
String str = "";
Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(txt);
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
buffer = md5.ComputeHash(buffer);
foreach (Byte b in buffer)
{
str += b.ToString("X2");
}
return str;
}
Code cho sự kiện click vào button Duyệt:
string[] path_folder ; //tạo một mảng chứa danh sách đường dẫn các file khi chọn thư mục
private void btn_duyet_Click(object sender, EventArgs e)
{
path_folder =null;
FolderBrowserDialog folder_selected = new FolderBrowserDialog(); //dùng để duyệt chọn 1 folder
if (folder_selected.ShowDialog()==DialogResult.OK)
{
path_folder = Directory.GetFiles(folder_selected.SelectedPath,"*.*",SearchOption.AllDirectories); //thực hiện quét tất cả các tệp tin có trong thư mục chọn, bao gồm cả thư mục con
txt_thumuc.Text = folder_selected.SelectedPath;
if (path_folder.Length!=0)
{
gridControl1.DataSource = path_folder;
}
else
{
XtraMessageBox.Show("Thư mục rỗng !", "Hệ thống", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
Code cho sự kiện click vào button Đổi tên:
private void btn_doiten_Click(object sender, EventArgs e)
{
if (path_folder != null)
{
var source = new List(); //tạo một danh sách để chứa các file sau khi đổi tên
foreach (var file in path_folder)
{
string file_path, file_name, file_extension;
file_path = Path.GetDirectoryName(file); //lấy thư mục của file từ đường dẫn file
file_name = Path.GetFileNameWithoutExtension(file); //lấy tên file không bao gồm phần đuôi kiểu file
file_extension = Path.GetExtension(file); //lấy phần đuôi của file vd: .pdf,.png
File.Move(file, file_path + "" + md5(file_name) + file_extension); //đổi tên file đó thành tên file mới đã được mã hóa
source.Add(file_path + "" + md5(file_name) + file_extension);
}
//source.ToArray();
gridControl1.DataSource = source;
}
}
Hoàn tất, chạy thử để xem kết quả. Lưu ý là các file sau khi đổi rồi sẽ không thể đổi tên lại. Hãy cân nhắc thử trên một thư mục không quan trọng, ví dụ kho phim FBI Warning chẳng hạn ! =))
Chúc thành công !