EDITAR: perdi DDMMYYYY
requisito, corrigido agora.
Um-liners de Powershell. Basta abrir o console do PowerShell em seu diretório e executar:
Compact:
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'))"}
Nenhum alias:
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'))"}
legível:
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'))"
}
Isso é mais como um script, você teria que salvá-lo como CreateFolders.ps1
e executar a partir do console do PowerShell assim: .\CreateFolders.ps1
. Comentou, para que você possa realmente entender o que está acontecendo:
# 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
}
Pergunta relacionada: Obtenha o número de Dias no mês atual usando o powershell