Powershell:
Код:
$sourceFolder = "C:\Корреспонденция\Входящие"
$destinationFolder = "C:\Архив"
$log = "$destinationFolder\log.txt"
dir "$sourceFolder" -File |% {
$fileFolder = "$destinationFolder\$($_.LastWriteTime.ToString("yyyy\\MM"))"
if (!(test-path "$fileFolder")) {mkdir "$fileFolder"; "INFO`t$((get-date).tostring())`tСоздана папка `"$fileFolder`"" >> "$log"}
mv "$($_.FullName)" "$fileFolder"
if ($?) {"INFO`t$((get-date).tostring())`tФайл `"$($_.FullName)`" перемещён в папку `"$fileFolder`"" >> "$log"}
else {"ERROR`t$((get-date).tostring())`tФайл `"$($_.FullName)`" не удалось переместить в папку `"$fileFolder`"" >> "$log"}
}