如何通过使用父文件夹的名称循环浏览30个文件夹并在每个文件夹中创建4个子文件夹?

时间:2019-06-12 22:55:42

标签: powershell

所以我有30个文件夹,它们都遵循相同的命名约定:

XXX-application name

X是2到4位数字之间的数字。 在子文件夹中,我需要创建以下文件夹:

XXX-access mngt
XXX-app controls
XXX-support docs
XXX-vendor docs

我知道如何用Java进行编码,但是我从未使用过PowerShell(我的妈妈需要她的工作帮助),所以我需要一些帮助,我确实使用了一个从文本文件获取名称的脚本来生成父文件夹。

我希望获得有关此操作的帮助,我确实有一个文本文件,该文件具有每个父文件夹的全名,另外还有一个单独的文本文件,其中仅包含每个数字

我还没有尝试过任何东西,这是我找到/修改过的用于生成父文件夹的脚本(此方法有效)

$folder="F:\Test\Folders"
$txtFile="F:\Test\MainFolder.txt"
$pattern="\d+.+"

get-content $txtFile | %{

    if($_ -match $pattern)
    {
        mkdir "$folder\$_"
    }
}

这将文本文件中的每一行放入一个文件夹中

1 个答案:

答案 0 :(得分:1)

这是一种实现方法:

Get-ChildItem -Path '<path to parent folder>' -Directory |
    ForEach-Object {
        $parent = $_
        if($parent.Name -match '^(?<num>\d{2,4})-.*$') {
            "access mngt", "app controls", "support docs", "vendor docs" |
                ForEach-Object {
                    New-Item -Path $parent.FullName -Name "$($Matches.num)-$_" -ItemType Directory | Out-Null
                }
        }
    }