2009-08-27 10 views
5

Ho due macchine Server A e Server B e voglio copiare tutti i file e l'albero delle cartelle dal Server A al Server B usando PowerShell.Come si copiano i file e la Struttura delle cartelle su Macchina remota?

ho provato il comando riportato qui di seguito, ma copia solo i file nella cartella e non crea la struttura di cartelle:

Copy-Item E:\TestSource\* //TestDestination/ -recurse -force 
+1

Ho risposto a una domanda simile qui: http://stackoverflow.com/a/22419054/9130 –

risposta

-3

Parto dal presupposto di avere i diritti per i 2 server

Get-ChildItem "\ SERVER_A \ C $" -Recurse | Copy-Item -Destination "\ SERVER_B \ C $"

+0

ho provato, ma copia tutte le cartelle e copia tutti i file dalla cartella alla directory principale della directory – Selwyn

+0

Questa istruzione copia cartelle e file in una struttura piatta. – Zorayr

1
Get-ChildItem \\server_a\c$ -Recurse | % { 
    $dest = Join-Path -Path \\server_b\c$ -ChildPath (Split-Path $_.FullName -NoQualifier) 

    if (!(Test-Path $dest)) 
    { 
     mkdir $dest 
    } 

    Copy-Item $_.FullName -Destination $dest -Force 
} 

Utilizzando Split-Path con il parametro -NoQualifier restituirà il percorso di origine senza le informazioni dell'unità. Unisciti a questo con il prefisso del percorso di destinazione e utilizza il risultato per creare la directory di destinazione (se non esiste) ed eseguire la copia.

-3

Non utilizzare il cmdlet Copy-Item di PowerShell. Trova uno strumento di mirroring/sincronizzazione di terze parti. Usiamo RoboCopy.

4

Se si dispone di una fonte e una cartella di destinazione, è possibile utilizzare il seguente comando:

robocopy $source $dest /e 

Se avete bisogno di ulteriori informazioni sul comando, è possibile utilizzare robocopy /?, o visitare Robocopy documentazione a Windows Server Technet, Robocopy.

Problemi correlati