Powershell Copy-Item จากพีซีระยะไกลถึงพีซีระยะไกล


2

ฉันกำลังพยายามคัดลอกโฟลเดอร์และโฟลเดอร์ย่อยจากเซิร์ฟเวอร์ไปยังพีซี (ทั้งจากระยะไกล)

$source='\\\server1\folder\\*'
$destination='\\\PC1\c$\temp\folder'
copy-item -path $source -destination $destination -recurse -force

สิ่งนี้สร้างข้อผิดพลาดถ้าฉันทำครั้งเดียว แต่ถ้าฉันเรียกใช้คำสั่งเดิมอีกครั้งมันจะเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด

ข้อผิดพลาดคือ:

copy-item : container cannot be copied onto existing leaf item.
%
%
%
     + categoryinfo    : Invalidargument: (\\server1\folder:string) [copy-item] PSargumentexception
    +FullyQualifiedErrrId : CopyContainerItemToLeafError,Microsoft.powershell.Commands.CopyItemCommand

อย่างที่ฉันบอกว่ามันเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดในครั้งที่สองที่ฉันรันคำสั่ง ฉันทำอะไรผิดที่ทำให้เกิดข้อผิดพลาดในการวิ่งครั้งแรก


3
ลองใช้คำสั่ง$source='\\server1\folder'แบบนั้นแทนเครื่องหมายดอกจันและดูว่าเกิดอะไรขึ้น คุณสามารถลองCopy-Item -Recurse -Filter *.* -path $source -destination $destination -Forceและใช้-Filterรูปแบบสตริงอักขระตัวแทนเป็นต้น
Pimp Juice IT

คำตอบ:


1

ตั้งค่าตัวแปรซอร์สเช่นนี้$source='\\server1\folder'และแยกเครื่องหมายดอกจัน ( *) จากที่นั่นในตัวอย่างที่มีให้ คุณไม่จำเป็นต้องหลบหนีเครื่องหมายแบ็กสแลช ( \) ด้วยเครื่องหมายแบ็กสแลชเพิ่มเติมดังนั้นอย่าทิ้งเครื่องหมายแบ็กสแลชเพิ่มเติมในเส้นทาง UNC ด้วย

พิจารณาใช้

$source='\\server1\folder'
$destination='\\PC1\c$\temp\folder'
Copy-Item -Recurse -Filter *.* -path $source -destination $destination -Force

หมายเหตุ:ใช้สำหรับรูปแบบสตริงอักขระตัวแทนเป็นต้น -Filter


แหล่งข้อมูลเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.