2011-05-08 22 views
12

Quiero copiar toda la carpeta a otra carpeta usando Copy-Item.Copiar carpeta usando Copiar-Elemento - comportamiento diferente

Mi carpeta de origen c:\base contiene algunos archivos:

├───base  
│  file1.txt 
│  file2.txt 

utilizo el siguiente comando:

Copy-Item c:\base c:\target -recurse

si existe la carpeta de destino (c:\target), la carpeta de origen comando copia exactamente como Quiero:

├───target 
│ └───base  
│   file1.txt 
│   file2.txt 

Si no existe la carpeta de destino, el comando crea carpeta de destino (exactamente como yo quiero), pero ahora sólo copia el contenido de la carpeta de origen (sin la carpeta base):

├───target  
│  file1.txt 
│  file2.txt 
  • ¿Por qué sucede?
  • ¿Cómo puedo usar este comando de copia (claves adicionales?) Sin crear la carpeta de destino antes?

Respuesta

9

Es un error conocido (función dirían algunos):

http://groups.google.com/group/microsoft.public.windows.powershell/msg/[email protected]microsoft.com

Este comportamiento de la OMI, es un artifiact de el proveedor y el objeto de canalización modelo que PowerShell utiliza. Tiene para acostumbrarse a la idea de que el contexto de navegación es un poco extraño en comparación con otros proyectiles; es explícito frente a implícito, ya que el sistema de archivos es uno de los muchos contextos que se pueden utilizar. Esto trae consigo algunos comportamientos extraños desde los objetivos de cualquier ruta dada se manejados con una combinación de gramática genéricos de PowerShell y el comando en sí, en lugar de ser totalmente manejado por el comando en conchas como command.com /cmd.exe.

+0

Debe proporcionar la solución real que se publicó en su respuesta. – JesseNewman19

Cuestiones relacionadas