Приведенный ниже код поражает меня ... что я пытаюсь сделать здесь - это проверка даты ... если текущей даты не существует (это 2020, а папки 2020 нет), то создайте папку 2020. В противном случае, если это 2019, а папка 2020 отсутствует, создайте папку 2020.
2-й шаг ... переход в папку ... это 2020 и нет папки 2020 \ 01 - январь ... затем скопируйте прошлогоднюю 12 - декабрь в папку 2020 \ 01 - январь ... если это 2019 и нет 2020 \ 01 - папка января, затем скопируйте 12-го декабря этого года в 2020 \ 01 - папка января.
Это то, что у меня есть ... но мой разум запутывается, пытаясь все исправить. Я почти уверен, что это второе утверждение, что моя логика может быть беспорядочной.
Я тоже не знаю, как это проверить без нового года. =)
# Edited to reflect code fix as I understand it.
$arubaBuildsRootPath = "***"
$oldMonth = "12 - December"
#$year = Get-Date -UFormat "%Y"
$year = (Get-Date).year
$newMonth = "01 - January"
$newYear = $year + 1
$oldYear = $year - 1
if( -Not (Test-Path -Path $arubaBuildsRootPath\$year ) )
{
New-Item -ItemType directory -Path $arubaBuildsRootPath\$year
}
Else
{
New-Item -ItemType directory -Path $arubaBuildsRootPath\$newYear
}
if( -Not (Test-Path -Path $arubaBuildsRootPath\$year\$newMonth ) )
{
Copy-Item -Path "$arubaBuildsRootPath\$oldYear\$oldMonth\" -Destination "$arubaBuildsRootPath\$newYear\$newMonth" -recurse -Force
}
Else
{
Copy-Item -Path "$arubaBuildsRootPath\$year\$oldMonth\" -Destination "$arubaBuildsRootPath\$newYear\$newMonth" -recurse -Force
}