Я работаю над сценарием PowerShell для PowerShell v3 в системе Server 2012 R2, чтобы рекурсивно искать указанные папки в исходном пути и копировать файлы wav менее 5 минут в целевой каталог.Рекурсивный поиск и копирование PowerShell
В этом примере кода я бы нужно \\ источник \ путь \ Folder1 и \\ Источник \ путь \ folder2 для поиска в WAV файлы, а затем попросите их скопировать в корневой каталог назначения \\ назначения \ путь
Я пытался настроить запланированную задачу, чтобы запускать ее каждые 5 минут, поэтому причина для попытки использовать {$_.LastWriteTime -gt (Get-Date).AddMinutes(-5)}
без успеха. Любые другие предложения о том, как предотвратить дублирование копий, будут отличными.
Я хотел бы, чтобы скрипт добавлял в файл журнала файлов, скопированных для дальнейшего использования, с журналом, зарегистрированным с указанием текущей даты.
Любые предложения были бы весьма полезными.
$Dst = '\\destination\path'
$Src = '\\source\path'
$LogFolder = "\\log\path"
$FolderName = "folder1","folder2"
$FileType = '*.wav'
Get-ChildItem -Path $Src -Filter $FolderName -Recurse -Force |
Where-Object {$_.PSIsContainer} |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddMinutes(-5)} |
ForEach-Object {
Copy-Item -Path (Join-Path -Path $_.FullName -ChildPath '\*') -Filter $FileType -Destination $Dst -Force | Out-File $LogFolder $(get-date -f MM-dd-YYYY) + .log
}
Для моей цели, которая не будет работать, поскольку файл wav, который копируется в этот каталог, будет перемещен снова в папку архива, как только файл будет сопоставлен с XML и загружен в службу диктовки. Использование CreationTime - хорошая идея, так как wav-файлы не будут редактироваться после его создания. –