首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在powershell中创建2020至2024年的月度文件夹

如何在powershell中创建2020至2024年的月度文件夹
EN

Stack Overflow用户
提问于 2022-06-06 06:29:48
回答 3查看 48关注 0票数 1

我需要自动创建从2020年到2024年的每月文件夹。

例如,

  • 2020

-Jan -Feb . -Dec

  • 2021

-Jan . -Dec

  • 2022

-Jan . -Dec

一直到2024年。

我试过了我的密码-

代码语言:javascript
复制
$d = 1..12|%{(get-date).AddMonths(-6+$_).ToString("MMM yyyy")} 
$d | % {(new-Item -Path C:\testmonth\$_ -ItemType Directory)}

我想知道是否有一个更好的编码自动创建每月文件夹。

非常感谢的人

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-06 09:34:53

为此,我将使用一个简单的嵌套循环:

代码语言:javascript
复制
$Path   = 'C:\testmonth'
$Months = [CultureInfo]::CurrentCulture.DateTimeFormat.AbbreviatedMonthNames
for ($y = 2020; $y -lt 2025; $y++) {
    for ($m = 0; $m -lt 12; $m++) {
        $folder = Join-Path -Path $Path -ChildPath ('{0}\{1}' -f $y, $Months[$m])
        $null = New-Item -Path $folder -ItemType Directory -Force
    }
}
票数 1
EN

Stack Overflow用户

发布于 2022-06-06 12:34:39

代码语言:javascript
复制
foreach ($year in 2020..2024)
{
    foreach ($month in 1..12)
    {
        $mon = Get-Date -Date $year-$month -Format "MMM"
        mkdir $year\$mon -Force
    }
}

mkdir -Force将使父文件夹和子文件夹一举完成。

票数 1
EN

Stack Overflow用户

发布于 2022-06-06 06:46:37

首先,你也需要循环几年。那就这么多年吧。

代码语言:javascript
复制
$y = 1..4 | ForEach-Object { (get-date).AddYears(-1+$_).ToString("yyyy") }

原谅我强迫改变%=形式对象。欢迎你把它改回来。

那就像你那样过几个月吧。

代码语言:javascript
复制
$d = 1..12| ForEach-Object { (get-date).AddMonths(-6+$_).ToString("MMM") } 

现在你需要循环几年和几个月。诀窍是在使用$_ (当前月份)循环天数之前存储年份(当前值)。

看起来是这样的。

代码语言:javascript
复制
$y | ForEach-Object {
         $currentYear = $_
         (new-Item -Path C:\testmonth\$_ -ItemType Directory)
         $d | ForEach-Object {(new-Item -Path C:\testmonth\$currentYear\$_ -ItemType Directory)}

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72513840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档