РЕДАКТИРОВАТЬ: я пропустил требование DDMMYYYY
, исправлено сейчас.
Powershell один вкладыш. Просто откройте консоль PowerShell в вашем каталоге и запустите:
Компактность:
1..([datetime]::DaysInMonth([datetime]::Now.Year,[datetime]::Now.Month)) | % {md ".\$(([datetime]::ParseExact("$_/$([datetime]::Now.Month)/$([datetime]::Now.Year)", 'd/M/yyyy', [System.Globalization.CultureInfo]::InvariantCulture)).ToString('ddMMyyyy'))"}
Без псевдонимов:
1..([datetime]::DaysInMonth([datetime]::Now.Year,[datetime]::Now.Month)) | ForEach-Object {New-Item -ItemType Directory -Path ".\$(([datetime]::ParseExact("$_/$([datetime]::Now.Month)/$([datetime]::Now.Year)", 'd/M/yyyy', [System.Globalization.CultureInfo]::InvariantCulture)).ToString('ddMMyyyy'))"}
Человек читаемый:
1..([datetime]::DaysInMonth([datetime]::Now.Year,[datetime]::Now.Month)) |
ForEach-Object {
New-Item -ItemType Directory -Path ".\$(([datetime]::ParseExact("$_/$([datetime]::Now.Month)/$([datetime]::Now.Year)", 'd/M/yyyy', [System.Globalization.CultureInfo]::InvariantCulture)).ToString('ddMMyyyy'))"
}
Это больше сценариев , как, вы должны сохранить его как CreateFolders.ps1
и работать с PowerShell консоли , как .\CreateFolders.ps1
. Прокомментировал, чтобы вы могли реально понять, что происходит под капотом:
# Get current Year and Month
$CurrYear = [datetime]::Now.Year
$CurrMonth = [datetime]::Now.Month
# Create new array with numbers from 1 to DaysInMonth
1..([datetime]::DaysInMonth($CurrYear, $CurrMonth)) |
# For each element in array
ForEach-Object {
# Generate name for new directory in ddMMyyyy format
# To do so, we create new DateTime Object with day from pipeline and current year and month
# Then we convert it to the abovementioned format
$DirName = ([datetime]::ParseExact("$_/$CurrMonth/$CurrYear", 'd/M/yyyy', [System.Globalization.CultureInfo]::InvariantCulture)).ToString('ddMMyyyy')
# Correctly join path with current directory and new folder name
$Path = Join-Path -Path (Get-Location).Path -ChildPath $DirName
# Create new directory
New-Item -ItemType Directory -Path $Path
}
Связанный вопрос: Получить количество дней в текущем месяце с помощью powershell