Bạn có thể sử dụng PowerShell cho việc này. Tôi chưa thử phương pháp dưới đây, nhưng nó sẽ hoạt động.
- Tạo một tệp CSV trong thư mục gốc của thư mục bạn muốn bắt đầu.
- Tốt nhất để sử dụng Excel hoặc trình chỉnh sửa bảng tính khác và "Lưu dưới dạng" CSV được phân tách bằng dấu phẩy.
- Đặt tên cho tập tin
FolderNames.csv
- Tạo hai cột, với các tiêu đề
Name và Type
- Đặt tên của từng thư mục Bảng trong cột Tên, với
Folder trong cột Loại.
- Đặt tên của từng thư mục Sản phẩm (chỉ mỗi lần một lần, không phải cho mỗi kết hợp Bảng / Sản phẩm) trong cột Tên, với
Subfolder trong cột Loại.
- Mở bảng điều khiển PowerShell mới.
- Điều hướng đến thư mục chứa
FolderNames.csv
- Chạy lệnh sau:
$Folders=Import-Csv FolderNames.csv;$Folders|?{$_.Type-eq'Folder'}|%{$ParentName=$_.Name;New-Item "$ParentName" -ItemType Directory;$Folders|?{$_.Type-eq'Subfolder'}|%{$ChildName=$_.Name;New-Item "$ParentName\$ChildName" -ItemType Directory}}
Lệnh trên thực sự là một tập lệnh được cô đọng thành một lớp lót (hơi dài). Đây là phiên bản mở rộng và được nhận xét:
# Import FoldersNames.csv into a variable called $Folders
# This will create an array of objects which have the Name and Type properties as defined in the CSV.
$Folders=Import-Csv FolderNames.csv;
# Filter $Folders down to just objects with a Type value of 'Folder'.
# ? is a built-in alias for Where-Object.
$Folders|?{$_.Type-eq'Folder'}|
# Send the filtered objects into a ForEach-Object loop.
# % is a built-in alias for ForEach-Object.
%{
# Store the current object's Name in $ParentName.
$ParentName=$_.Name;
# Create a new directory named $ParentName.
New-Item "$ParentName" -ItemType Directory;
# Filter $Folders down to just objects with a Type value of 'Subfolder'.
$Folders|?{$_.Type-eq'Subfolder'}|
# Send the filtered objects into a ForEach-Object loop.
%{
# Store the current object's Name in $ChildName.
$ChildName=$_.Name;
# Create a new subfolder in $ParentName called $ChildName.
New-Item "$ParentName\$ChildName" -ItemType Directory
}
}
Lưu ý rằng giải pháp này không thể mở rộng được. Nếu bạn cần tạo các lớp thư mục con sâu hơn hoặc đặt các thư mục con khác nhau vào các thư mục nhất định tùy theo tên của chúng, việc điều chỉnh tập lệnh này theo nhu cầu của bạn sẽ không thực sự đơn giản. Tuy nhiên, nó sẽ phục vụ mục đích như được nêu trong câu hỏi của bạn.