Solución:
Es mucho más simple que eso. Copiar artículo tiene su propio -Recurrir cambiar. Todo lo que tienes que hacer es:
Copy-Item F:Workxxxxxxxxx*.zip F:tempzip -Recurse
Al conectar elementos a copy-item
tienes que decirle que "F:tempzip"
es la ruta de destino.
| Copy-Item -Destination F:tempzip
También puede cortar la tubería a la where
operador usando Get-ChildItem
parámetro de -filter
.
Get-Childitem "C:imscript" -recurse -filter "*.zip" | Copy-Item -Destination "F:tempzip"
Editar: Eliminación de innecesarios foreach
bucle y explicación actualizada.
Por alguna razón, la recursividad de Copiar elemento no logró lo que quería, como se menciona aquí, y cómo está documentado que funciona. Si tiene un montón de archivos * .zip o * .jpg en jerarquías de subcarpetas arbitrariamente profundas y desea copiarlos en un solo lugar (una carpeta plana, en otro lugar), tuve más suerte con un comando canalizado que involucra Get-ChildItem . Supongamos que se encuentra actualmente en la carpeta que contiene la raíz de su búsqueda:
Get-ChildItem -Recurse -Include *.zip | Copy-Item -Destination C:SomeplaceElse
Ese comando copiará todos los archivos y no duplicará las jerarquías de carpetas.