Esta es una pregunta estúpida, pero no sé por qué no funciona.
Estoy tratando de copiar los archivos de la carpeta A a la carpeta B de forma recursiva. Yo estoy haciendo esto:
Copy-Item -Path "C:\FolderA\" -Destination "C:\FolderB\" -recurse -Force -Verbose
Funciona muy bien, no hay problema.
Excepto que el resultado en FolderB es este:
C:\FolderB\FolderA\file.txt
Mientras que quiero que sea:
C:\FolderB\file.txt
¿Qué estúpido obvio me estoy perdiendo?
powershell
CleverPatrick
fuente
fuente

Respuestas:
Su comando le dice a PowerShell que copie la carpeta en sí, con todo su contenido, en la carpeta de destino. Para copiar solo el contenido de la carpeta original, cambie su ruta de la siguiente manera:
Observe el asterisco (*) después del nombre de la carpeta. Esto copiará el contenido (incluidas las subcarpetas) de la carpeta, pero no la carpeta en sí a la carpeta de destino.
Usar el cmdlet Copiar elemento
fuente
md "C:\FolderB"antesCopy-Itemparece evitar este problema.Copy-Itemque reproducirá la estructura de la carpeta, pero un nivel hacia abajo (por ejemplo,C:\FolderA\B\Cse copia enC:\FolderB\Clugar deC:\FolderB\B\C) y también puede fallar cuando existen varias subcarpetas. Asegúrese siempre de que la carpeta de destino existe antes de llamar a Copy-Item. Esto huele a un error (no puedo ver ninguna razón por la cual este comportamiento inconsistente sería deseable).Puede usar -File -Recurse para copiar solo archivos de forma recursiva:
Copiar elemento -Path "C: \ Source" -Destination "C: \ Dest" -File -recurse -Force -Verbose
O use -Directory -Recurse para copiar solo la estructura de la carpeta vacía :
Copy-Item -Path "C: \ Source" -Destination "C: \ Dest" -Directory -recurse -Force -Verbose
Saludos cordiales,
Paul Pedroza
fuente
También funcionaría
fuente