我需要從 2020 年到 2024 年自動創建每月檔案夾。
例如,
2020
-Jan -Feb ... -Dec2021
-Jan ... -Dec2022
-Jan ... -Dec
一直到2024年。
我已經嘗試過我的代碼 -
$d = 1..12|%{(get-date).AddMonths(-6 $_).ToString("MMM yyyy")}
$d | % {(new-Item -Path C:\testmonth\$_ -ItemType Directory)}
我想知道是否有更好的編碼來自動創建每月檔案夾。
非常感謝各位
uj5u.com熱心網友回復:
我會為此使用一個簡單的嵌套回圈:
$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
}
}
uj5u.com熱心網友回復:
foreach ($year in 2020..2024)
{
foreach ($month in 1..12)
{
$mon = Get-Date -Date $year-$month -Format "MMM"
mkdir $year\$mon -Force
}
}
mkdir -Force 將一次性創建父檔案夾和子檔案夾。
uj5u.com熱心網友回復:
首先,您還需要回圈年份。所以得到所有的歲月。
$y = 1..4 | ForEach-Object { (get-date).AddYears(-1 $_).ToString("yyyy") }
請原諒我強制更改 % = ForEach-Object。歡迎您改回來。
然后像你一樣得到月份。
$d = 1..12| ForEach-Object { (get-date).AddMonths(-6 $_).ToString("MMM") }
現在你需要回圈年份和月份。訣竅是在使用 $_ (當前月份)回圈日期之前存盤年份(當前值)。
這看起來像這樣。
$y | ForEach-Object {
$currentYear = $_
(new-Item -Path C:\testmonth\$_ -ItemType Directory)
$d | ForEach-Object {(new-Item -Path C:\testmonth\$currentYear\$_ -ItemType Directory)}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487117.html
標籤:电源外壳
上一篇:如何洗掉嵌套的JSON物件成員
下一篇:將多個用戶移動到多個OU,從CSV匯入用戶并使用通配符查找按ActiveDirectory“Office”屬性過濾
