2009-08-27 11 views
5

Mam dwa urządzenia Serwer A i Serwer B, i chcę skopiować wszystkie pliki i drzewa folderów z serwera A do serwera B przy użyciu PowerShell.Jak skopiować pliki i drzewo folderów na zdalny komputer?

Próbowałem polecenia podane poniżej, ale kopiuje tylko pliki znajdujące się w folderze i nie tworzy drzewo folderu:

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

Odpowiedziałem na podobne pytanie tutaj: http://stackoverflow.com/a/22419054/9130 –

Odpowiedz

-3

Przypuszczam masz prawa dla serwerów 2

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

+0

próbowałem go, ale kopiuje wszystkie foldery, a także kopiuje wszystkie pliki z folderu do katalogu głównego katalogu – Selwyn

+0

Ta instrukcja kopiuje foldery i pliki w płaskiej strukturze. – 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 
} 

Korzystanie Split-Path z parametrem -NoQualifier powróci ścieżkę źródłową bez informacji napędowego. Połącz to z prefiksem ścieżki docelowej i użyj wyniku, aby utworzyć katalog docelowy (jeśli nie istnieje) i wykonać kopię.

-3

Nie używaj cmdleta PowerShell'a o wartości Copy-Item. Znajdź narzędzie do dublowania/synchronizacji innej firmy. Używamy RoboCopy.

4

Jeśli masz źródło i folder docelowy, można użyć następującego polecenia:

robocopy $source $dest /e 

Jeśli potrzebujesz więcej informacji na temat polecenia, można użyć robocopy /? lub odwiedzić robocopy dokumentację na Windows Server Technet, Robocopy.

Powiązane problemy