Có thể bạn quan tâm: Cách Sao Chép Bảng Autocad Sang Excel Nhanh Chóng Và Chính Xác: Hướng Dẫn Từng Bước Cho Người Dùng Mới
Giới thiệu
Trong môi trường làm việc hiện đại, việc quản lý dữ liệu một cách hiệu quả là yếu tố then chốt để nâng cao năng suất và giảm thiểu sai sót. Một trong những nhiệm vụ thường gặp nhưng không kém phần phức tạp là sao chép tên các thư mục (folder) vào Excel để tạo danh sách, báo cáo, hoặc làm cơ sở dữ liệu cho các dự án. Dù bạn là nhân viên văn phòng, quản lý dự án, lập trình viên, hay nhà nghiên cứu, việc này đều có thể giúp bạn:
- Tổng hợp nhanh danh sách các tài liệu, file trong một dự án.
- Kiểm tra tính đầy đủ của các thư mục theo chuẩn định dạng.
- Tự động hoá các quy trình báo cáo, thống kê.
- Tạo chỉ mục cho hệ thống lưu trữ, giúp người dùng dễ tìm kiếm.
Bài viết dưới đây sẽ cung cấp cho bạn hướng dẫn chi tiết, từng bước một để sao chép tên thư mục vào Excel, bao gồm:
- Các phương pháp thủ công (sử dụng Windows Explorer, macOS Finder, và công cụ dòng lệnh).
- Sử dụng PowerShell (Windows) và Terminal (macOS/Linux) để trích xuất danh sách.
- Sử dụng các công cụ bên thứ ba (FreeCommander, Total Commander, Directory List & Print, v.v.).
- Tự động hoá bằng VBA trong Excel và Google Apps Script.
- Xử lý dữ liệu sau khi nhập vào Excel (loại bỏ trùng lặp, sắp xếp, tạo hyperlink, v.v.).
- Mẹo nâng cao như lọc theo độ sâu thư mục, lấy ngày tạo, ngày sửa đổi, kích thước thư mục.
- Các lỗi thường gặp và cách khắc phục.
Hãy cùng khám phá từng phần một cách chi tiết và thực hành ngay trên máy tính của bạn!
Có thể bạn quan tâm: Cách Lùi 1 Hàng Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Phương Pháp Thủ Công – Nguyên Tắc Cơ Bản
1.1. Sao chép tên thư mục từ Windows Explorer
- Mở thư mục gốc chứa các thư mục con mà bạn muốn sao chép.
- Chuyển sang chế độ “Details” (Chi tiết) bằng cách click vào menu “View” → “Details”.
- Chọn cột “Name” bằng cách click chuột phải vào tiêu đề cột và chắc chắn rằng “Name” được bật.
- Chọn tất cả các thư mục cần sao chép:
- Nhấn
Ctrl + Ađể chọn toàn bộ. - Hoặc giữ
Ctrlvà click từng thư mục muốn. - Sao chép: Nhấn
Ctrl + Choặc click chuột phải → “Copy”. - Mở Excel, chọn ô đầu tiên (ví dụ A1) và dán (
Ctrl + V). Excel sẽ tự động dán tên các thư mục vào các ô riêng biệt.
Lưu ý: Phương pháp này chỉ sao chép tên, không bao gồm đường dẫn đầy đủ. Nếu cần đường dẫn, hãy xem các phương pháp dưới đây.
1.2. Sao chép tên thư mục từ macOS Finder
- Mở Finder và điều hướng tới thư mục gốc.
- Chuyển sang chế độ “List View” (View → as List) để hiển thị danh sách.
- Bật cột “Name” nếu chưa hiển thị: “View” → “Show View Options” → tick “Name”.
- Chọn các thư mục (Command + A để chọn tất cả hoặc Command + Click để chọn riêng).
- Sao chép:
Command + C. - Mở Numbers hoặc Excel, dán (
Command + V) vào ô muốn.
Mẹo: Đối với macOS, nếu muốn sao chép đường dẫn đầy đủ, sử dụng
Option + Command + Cđể copy path, sau đó dán vào Excel.
1.3. Khi nào nên dùng phương pháp thủ công?
- Khi số lượng thư mục không quá lớn (dưới 200 mục).
- Khi không có quyền cài đặt phần mềm hoặc truy cập dòng lệnh.
- Khi bạn cần sao chép nhanh một danh sách ngắn cho báo cáo tạm thời.
Có thể bạn quan tâm: Hướng Dẫn Chi Tiết Cách Chuyển Đổi Tọa Độ Vn2000 Sang Wgs84 Trong Excel
2. Sử Dụng Dòng Lệnh – PowerShell (Windows)
PowerShell là công cụ mạnh mẽ cho phép trích xuất thông tin hệ thống nhanh chóng. Dưới đây là các lệnh cơ bản để lấy tên thư mục và xuất ra file CSV, sau đó mở trong Excel.
2.1. Lệnh cơ bản lấy tên thư mục
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Directory | Select-Object -ExpandProperty Name
Get-ChildItem(aliasgci) liệt kê các mục trong thư mục.-Directorychỉ lấy thư mục, không bao gồm file.Select-Object -ExpandProperty Nametrả về chỉ tên.
2.2. Lưu kết quả vào file CSV
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Directory | Select-Object Name | Export-Csv -Path "C:\DuongDan\DanhSachThuMuc.csv" -NoTypeInformation -Encoding UTF8
Export-Csvtạo file CSV có thể mở thẳng trong Excel.-NoTypeInformationloại bỏ dòng meta không cần thiết.-Encoding UTF8đảm bảo tiếng Việt hiển thị đúng.
2.3. Lấy đường dẫn đầy đủ (FullName) và ngày tạo
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Directory | Select-Object Name, FullName, CreationTime | Export-Csv -Path "C:\DuongDan\DanhSachThuMuc_ChiTiet.csv" -NoTypeInformation -Encoding UTF8
Bạn sẽ có ba cột: Tên, Đường dẫn, Ngày tạo. Khi mở trong Excel, bạn có thể tùy chỉnh hiển thị ngày tháng.
2.4. Lọc theo độ sâu (subfolders)
Nếu muốn liệt kê cả các thư mục con đến một độ sâu nhất định:
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Recurse -Directory | Where-Object { $_.FullName.Split('\').Count -le 4 } | # Độ sâu <= 4 Select-Object Name, FullName | Export-Csv -Path "C:\DuongDan\DanhSachThuMuc_Deep.csv" -NoTypeInformation -Encoding UTF8
-Recurseduyệt đệ quy.Where-Objectlọc dựa trên số lượng dấu\trong đường dẫn (độ sâu).
2.5. Tự động mở file CSV trong Excel
$csv = "C:\DuongDan\DanhSachThuMuc.csv"
Start-Process $csv
Lệnh Start-Process sẽ mở file bằng ứng dụng mặc định (thường là Excel).
3. Sử Dụng Dòng Lệnh – Terminal (macOS & Linux)
3.1. Lệnh ls và find
3.1.1. Liệt kê tên thư mục (đơn cấp)
ls -d / | sed 's%/%%' > danh_sach_thu_muc.txt
ls -d /liệt kê các thư mục con.sed 's%/%%'loại bỏ dấu/ở cuối.- Kết quả lưu vào file txt, có thể mở bằng Excel (File → Open → Text).
3.1.2. Lấy đường dẫn đầy đủ
find /path/to/ThuMucGoc -type d -maxdepth 1 -printf "%f\n" > danh_sach.txt
-type dchỉ thư mục.-maxdepth 1chỉ cấp độ hiện tại.%fin tên file (thư mục) không có đường dẫn.
3.1.3. Lấy thông tin chi tiết (đường dẫn, ngày tạo)
find /path/to/ThuMucGoc -type d -maxdepth 1 -exec stat -f "%N,%SB" {} \; > danh_sach_chi_tiet.csv
stat -f "%N,%SB"in tên và ngày tạo (theo định dạng locale).
3.2. Chuyển đổi sang CSV cho Excel
Nếu file output là .txt với các giá trị cách nhau bằng tab hoặc dấu phẩy, chỉ cần đổi phần mở rộng thành .csv và mở trong Excel. Excel sẽ tự nhận dạng delimiter.
mv danh_sach.txt danh_sach.csv
4. Công Cụ Bên Thứ Ba – Giải Pháp Nhanh và Đa Dạng
4.1. FreeCommander (Windows)
- Mở FreeCommander, duyệt tới thư mục gốc.
- Chọn cột “Name” trong danh sách.
- Chọn các thư mục muốn sao chép.
- Click Edit → Copy Names (hoặc
Ctrl+Shift+C). - Dán vào Excel.
FreeCommander còn cho phép copy full path (Ctrl+Alt+C).
4.2. Total Commander (Windows)
- Mở Total Commander, bật “Show full names”.
- Chọn các thư mục →
Ctrl+Mđể Mark. - Dùng “Files → Copy Names to Clipboard” → chọn “Full Path” hoặc “Names only”.
- Dán vào Excel.
4.3. Directory List & Print (Windows)

Có thể bạn quan tâm: Cách Copy Conditional Formatting Trong Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
- Phần mềm này cho phép export danh sách thư mục dưới dạng CSV, TXT, HTML.
- Hỗ trợ filter theo độ sâu, định dạng ngày, kích thước.
- Thích hợp cho các dự án lớn (hàng ngàn thư mục).
4.4. Xplorer² (Windows)
- Tương tự Total Commander, hỗ trợ drag-and-drop danh sách trực tiếp vào Excel.
- Có tính năng custom columns, cho phép hiển thị ngày tạo, ngày sửa, kích thước.
4.5. Finder Extensions (macOS)
- Path Finder hoặc ForkLift cung cấp chức năng Copy Path cho nhiều mục cùng lúc.
- Sau khi copy, chỉ cần dán vào Excel.
5. Tự Động Hóa Bằng VBA Trong Excel
Nếu bạn thường xuyên phải lấy danh sách thư mục, việc viết một macro VBA sẽ tiết kiệm thời gian đáng kể.
5.1. Mở trình VBA
- Mở Excel →
Alt + F11để mở Visual Basic for Applications. - Chọn Insert → Module để tạo một module mới.
5.2. Mã VBA lấy tên thư mục (cấp 1)
Sub GetFolderNames() Dim fso As Object Dim folder As Object Dim subfolder As Object Dim i As Long Dim rootPath As String rootPath = InputBox("Nhập đường dẫn thư mục gốc:", "Lấy tên thư mục") Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(rootPath) i = 1 For Each subfolder In folder.SubFolders Cells(i, 1).Value = subfolder.Name i = i + 1 Next subfolder MsgBox "Hoàn thành! Đã lấy " & i - 1 & " thư mục.", vbInformation
End Sub
- Giải thích:
FileSystemObject(FSO) dùng để truy cập hệ thống file.- Vòng
For Eachduyệt các thư mục con. - Kết quả được ghi vào cột A của sheet hiện tại.
5.3. Mã VBA lấy đường dẫn đầy đủ và ngày tạo
Sub GetFolderDetails() Dim fso As Object Dim folder As Object Dim subfolder As Object Dim i As Long Dim rootPath As String rootPath = InputBox("Nhập đường dẫn thư mục gốc:", "Lấy chi tiết thư mục") Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(rootPath) 'Header Cells(1, 1).Value = "Tên" Cells(1, 2).Value = "Đường Dẫn" Cells(1, 3).Value = "Ngày Tạo" i = 2 For Each subfolder In folder.SubFolders Cells(i, 1).Value = subfolder.Name Cells(i, 2).Value = subfolder.Path Cells(i, 3).Value = subfolder.DateCreated i = i + 1 Next subfolder MsgBox "Hoàn thành! Đã lấy " & i - 2 & " thư mục.", vbInformation
End Sub
- Lưu ý: Khi chạy macro lần đầu, Excel sẽ yêu cầu cho phép macro. Chọn “Enable macros”.
5.4. Đánh dấu các thư mục trùng lặp
Sau khi có danh sách, bạn có thể dùng công cụ Conditional Formatting để tô màu các giá trị trùng lặp:
- Chọn cột chứa tên thư mục.
Home → Conditional Formatting → Highlight Cells Rules → Duplicate Values….- Chọn màu, nhấn OK.
5.5. Tạo Hyperlink tới thư mục trong Excel
Sub AddHyperlinks() Dim lastRow As Long lastRow = Cells(Rows.Count, 2).End(xlUp).Row 'Giả sử cột B chứa đường dẫn Dim i As Long For i = 2 To lastRow ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), _ Address:=Cells(i, 2).Value, _ TextToDisplay:=Cells(i, 1).Value Next i MsgBox "Đã tạo hyperlink cho " & lastRow - 1 & " mục.", vbInformation
End Sub
Sau khi chạy, mỗi tên thư mục sẽ trở thành liên kết mở thư mục tương ứng khi click.
6. Xử Lý Dữ Liệu Sau Khi Nhập Vào Excel
6.1. Loại bỏ trùng lặp
- Chọn cột chứa tên →
Data → Remove Duplicates…. - Đánh dấu cột muốn kiểm tra → OK.
6.2. Sắp xếp và nhóm
Data → Sortđể sắp xếp alphabet hoặc theo ngày.- Dùng PivotTable để nhóm theo độ sâu (nếu có cột “Depth”).
6.3. Tính tổng kích thước thư mục (nếu có)
Nếu bạn đã export kích thước (Size) từ PowerShell hoặc Terminal, có thể:
- Đảm bảo cột Size ở dạng Number (định dạng số).
- Sử dụng
SUM,AVERAGE, hoặc Conditional Formatting để đánh dấu thư mục lớn.
6.4. Tạo biểu đồ thống kê
- Chọn dữ liệu (Tên và Kích thước) →
Insert → Column Chart. - Biểu đồ giúp trực quan hoá thư mục chiếm nhiều không gian.
7. Mẹo Nâng Cao – Lấy Thông Tin Chi Tiết Hơn
7.1. Độ sâu thư mục (Depth)
Trong PowerShell, bạn có thể tính độ sâu dựa trên số lượng dấu \:
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Recurse -Directory | Select-Object @{Name='Depth';Expression={($_.FullName -split '\\').Count - ($baseDepth)}}, Name, FullName | Export-Csv -Path "C:\DuongDan\DanhSach_Deep.csv" -NoTypeInformation -Encoding UTF8
$baseDepthlà số dấu\của thư mục gốc (có thể lấy bằng($basePath -split '\\').Count).
7.2. Lấy ngày sửa đổi cuối (LastWriteTime)
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Directory | Select-Object Name, FullName, LastWriteTime | Export-Csv -Path "C:\DuongDan\DanhSach_LastWrite.csv" -NoTypeInformation -Encoding UTF8
7.3. Đếm số file trong mỗi thư mục
Get-ChildItem -Path "C:\DuongDan\ThuMucGoc" -Directory | ForEach-Object { $fileCount = (Get-ChildItem -Path $_.FullName -File -Recurse).Count PSCustomObject@{ Name = $_.Name FullPath = $_.FullName FileCount = $fileCount } } | Export-Csv -Path "C:\DuongDan\ThuMuc_FileCount.csv" -NoTypeInformation -Encoding UTF8
Kết quả: cột FileCount cho biết số tệp trong mỗi thư mục (đệ quy).
7.4. Tích hợp với Google Sheets
Nếu bạn muốn dữ liệu lên Google Sheets, có thể:
- Export CSV.
- Mở Google Drive → “Import” → chọn file CSV.
- Hoặc dùng Google Apps Script để tự động import:
function importFolderList() { var file = DriveApp.getFileById('ID_CSV_TRONG_GOOGLE_DRIVE'); var csv = Utilities.parseCsv(file.getBlob().getDataAsString()); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('DanhSach'); sheet.clearContents(); sheet.getRange(1,1,csv.length,csv0.length).setValues(csv);
}
8. Các Lỗi Thường Gặp Và Cách Khắc Phục
| Lỗi | Nguyên nhân | Giải pháp |
|---|---|---|
| Tên thư mục bị cắt ngắn | Dòng lệnh hoặc công cụ giới hạn độ dài (ví dụ dir /b trong CMD). | Sử dụng PowerShell hoặc Get-ChildItem để lấy đầy đủ. |
| Ký tự Unicode (tiếng Việt) hiển thị lỗi | Mã hoá không đúng (ANSI vs UTF‑8). | Khi export, luôn dùng -Encoding UTF8 (PowerShell) hoặc iconv (Linux). |
| Excel mở CSV và chia cột sai | Dấu phân cách không phù hợp (comma vs semicolon). | Kiểm tra Regional Settings Windows → sử dụng dấu ; nếu hệ thống dùng dấu phẩy cho thập phân. |
| Không thể mở hyperlink | Đường dẫn chứa khoảng trắng hoặc ký tự đặc biệt chưa được mã hoá. | Dùng VBA Hyperlinks.Add để tự động xử lý. |
| Permission denied khi chạy PowerShell | Chạy PowerShell ở chế độ không đủ quyền. | Mở PowerShell Run as Administrator hoặc dùng Set-ExecutionPolicy RemoteSigned. |
9. Tổng Kết Và Lời Khuyên Cuối Cùng
Việc sao chép tên thư mục vào Excel không còn là công việc “đầu bếp” mà có thể trở thành công cụ mạnh mẽ hỗ trợ quản lý dự án, kiểm kê tài liệu, và tạo báo cáo tự động. Tùy thuộc vào quy mô và yêu cầu chi tiết, bạn có thể lựa chọn:
- Phương pháp thủ công cho danh sách ngắn và nhanh chóng.
- PowerShell / Terminal cho các danh sách lớn, cần chi tiết (đường dẫn, ngày, kích thước).
- Công cụ bên thứ ba khi muốn giao diện đồ họa và tính năng drag‑and‑drop.
- VBA hoặc Google Apps Script để tự động hoá quy trình và tích hợp vào báo cáo định kỳ.
Một số lời khuyên quan trọng:
- Luôn kiểm tra mã hoá (UTF‑8) khi làm việc với tiếng Việt để tránh lỗi hiển thị.
- Lưu file CSV ở vị trí dễ truy cập và đặt tên có ngày tháng để quản lý phiên bản.
- Thêm cột “Depth” hoặc “FileCount” nếu bạn cần phân tích cấu trúc thư mục sâu hơn.
- Sử dụng conditional formatting để nhanh chóng nhận diện thư mục trùng lặp hoặc quá lớn.
- Đặt macro VBA vào Personal Macro Workbook nếu bạn cần sử dụng thường xuyên trên nhiều file.
Hy vọng bài viết chi tiết trên sẽ giúp bạn tiết kiệm thời gian, tăng độ chính xác, và nâng cao hiệu suất trong công việc quản lý dữ liệu. Hãy thử áp dụng ngay hôm nay và chia sẻ kinh nghiệm của bạn với đồng nghiệp!
Bài viết được biên soạn dựa trên kinh nghiệm thực tế và các nguồn tài liệu chính thống, cập nhật đến thời điểm 2026.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
