@utak utak: ja też nie do końca rozumiem co masz, i co chcesz uzyskać.
Przyznaję, że nie testowałem Twojego kodu i nie wiem jaki jest efekt jego działania, ale wydaje mi się, że ostatni człon polecenia wrzuca wszystkie pliki spełniające warunek do jednej ścieżki
copy-item -destination "D:\copy" -Recurse
Nie wiem, czy takie było Twoje zamierzenie? Osobiscie nie stosowałbym w tym przypadku przełącznika "Recurse", bo w przypadku gdy w potoku do kopiowania trafi folder do cały łącznie z zawartością zostanie skopiowany do folderu docelowego.
I wydaje mi się, że właśnie tak to u Ciebie działa, że w folderze docelowym pliki są w strukturze drzewa, oraz w folderze głównym.
Nie pamiętak jak przenieść ścieżkę bez kombinacji (i czy wg Twojego schematu jest to możliwe), bo jeśli nie, to należy na spreparowanym obiekcie przenieść do polecenia copy spreparowaną ścieżkę docelową. Myślę, że rozsądne będzie użycie ForEach-Object.
Zmieniłbym też filtr na coś w stylu:
Where-Object {$_.CreationTime -ge (Get-Date).AddDays(-1)})
... ale to wydaje się być kosmetyką.
Może najpierw zamiast kopiować, wyświetl pliki które łapią się w filtrze. Jeśli tu jest ok, to debuguj dalej.
powodzenia
--
Paweł