如何创建多个子文件夹?

时间:2015-06-04 12:51:26

标签: powershell

如何创建一个文件夹结构,其中我有一个根文件夹,然后大约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

我正在尝试创建一个日志文件夹树。我想我得到了一些,但任何帮助都会赞赏。

1 个答案:

答案 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 $_
}