Я разрабатываю сценарий с помощью PowerShell.
На данный момент я пытаюсь разработать сценарий, в котором у меня есть пакетное задание, которое при успешном выполнении сначала создает папку с датами для этого конкретного дня, а затем создает файл .CSV в. Структура папок выглядит следующим образом.
\\Server\SourceA\Processed\20200120\TestA.CSV
Когда задание будет выполнено на следующий день, оно создаст другую папку и файл, как показано ниже.
\\Server\SourceA\Processed\20200121\TestB.CSV
Так было создано много папок в прошлом.
Мой сценарий PS можно запускать ежедневно после завершения пакетного задания. Я читаю дату, добавляю путь, и он копирует файл из папки источника в папку назначения. Но я хочу, чтобы мой сценарий PS читал все предыдущие папки date , созданные в
\\Server\SourceA\Processed\
Другая сложная часть - в папке date есть немного других подпапки. Т.е. среди них
\\Server\SourceA\Processed\20191010\Log
\\Server\SourceA\Processed\20191010\Charlie
\\Server\SourceA\Processed\20191010\Alpha
\\Server\SourceA\Processed\20191010\Delta
, мне нужно только читать файлы из папки Log
. Следовательно, мой фактический путь к источнику становится следующим:
\\Server\SourceA\Processed\20191010\Log\TestA.CSV
Вот мой сценарий (который сейчас является stati c и не может прочитать прошлые существующие папки с датами).
$fullSourceFileName = "\\Server\SourceA\Processed\"
$date = Get-Date -format "yyyyMMdd"
$fullSourceFileName = "$($fullSourceFileName)$($date)\Log
$destination = "\\Server\DestA\Processed\"
$destination = "$($destination)$($date)\"
get-childitem -path $fullSourceFileName -recurse | copy-item -destination "$($destinationFolder)$($date)\"
Ваша помощь высоко ценится.