如何创建一个文件夹结构,其中我有一个根文件夹,然后大约9个不同名称的子文件夹;在这些子文件夹中有另一组不同命名的子文件夹。我已经用脚本创建了一个.csv文件。但我不想写出30行相同的代码来制作这些子文件夹。
这是我到目前为止所做的:
$LogsDir = "D:\Logs"
If (-Not (Test-Path $LogsDir)) {
New-Item -Path $LogsDir -ItemType Directory | Out-Null
} Else {
Write-Host "Directory already exists!"
}
$Subfolders1 = Import-Csv "Subfolders1.csv";
$Subfolders1 | Where-Object {$_.Type -eq 'Subfolder'} |
ForEach-Object {
$Subfolders1 = $_.Name;
New-Item "$LogsDir\$Subfolders1" -ItemType Directory
}
# ******sbf1 = the first set of subfolders******
# ******sf-** = the second set******
New-Item -Path "$LogsDir\sbf1\sf-a1" -ItemType Directory
New-Item -Path "$LogsDir\sbf1\sf-a2" -ItemType Directory
New-Item -Path "$LogsDir\sbf1\sf-a3" -ItemType Directory
New-Item -Path "$LogsDir\sbf2\sf-a1" -ItemType Directory
New-Item -Path "$LogsDir\sbf2\sf-a2" -ItemType Directory
New-Item -Path "$LogsDir\sbf2\sf-b2" -ItemType Directory
我正在尝试创建一个日志文件夹树。我想我得到了一些,但任何帮助都会赞赏。
答案 0 :(得分:0)
New-Item
将创建缺少的父文件夹,因此您只需要一个叶文件夹列表(带完整路径):
D:\Logs\sbf1\sf-a1
D:\Logs\sbf1\sf-a2
D:\Logs\sbf1\sf-a3
D:\Logs\sbf2\sf-a1
D:\Logs\sbf2\sf-a2
D:\Logs\sbf2\sf-b2
然后创建如下文件夹:
Get-Content 'C:\path\to\subfolders.txt' | % {
New-Item -Type Directory -Path $_
}