คัดลอกโฟลเดอร์โดยใช้บรรทัดคำสั่งหรือไม่


2

วิธีการคัดลอกโฟลเดอร์โดยใช้ cmd.exe เปลือก?

การใช้ Explorer จะทำได้ง่าย คลิกขวาที่โฟลเดอร์เพื่อคัดลอกลากไปยังโฟลเดอร์ปลายทางแล้วเลือก "คัดลอกที่นี่"

สมมติว่าเรามีโครงสร้างโฟลเดอร์นี้:

src
  --a.txt
  --b.txt
dest
  --c.txt
  --d.txt

เราจะรับผลลัพธ์นี้ได้อย่างไร:

src
  --a.txt
  --b.txt
dest
  --c.txt
  --d.txt
    src
      --a.txt
      --b.txt

คำสั่ง copy src dest ไม่ทำเช่นนี้ - มันก็อปปี้ a.txt และ b.txt เข้าไป dest แทนการ src โฟลเดอร์ตัวเอง

ไม่ทำงานเช่นกัน xcopy /e src dest.

มีคำสั่งที่ใช้เครื่องมือในตัวหรือไม่?

คำตอบ:


3

ลองสิ่งนี้:

xcopy /e src dest\src\

คุณต้องบอกให้ xcopy สร้างไดเรกทอรีภายใต้โต๊ะทำงาน

หากคุณเกลียดการพิมพ์ src สองครั้งจริงๆและคุณได้ติดตั้ง rsync แล้วสิ่งต่อไปนี้จะทำตามที่คุณต้องการ:

rsync -a dir1 dir2/

3

ใช้ robocopy . โดยเฉพาะด้วยแฟล็ก / E

robocopy /e src dest\src

คุณลองจริงหรือ ผลลัพธ์ที่ได้ไม่แตกต่างจากการดำเนินการ xcopy /e src dest.
and31415

1
Robocopy ใช้แทน xcopy มันมีความสามารถมากขึ้น (เช่น multithreading บน Windows รุ่นใหม่กว่า) และโดยเฉพาะอย่างยิ่งถ้าทำงานกับชื่อไฟล์ที่ยาวจะดีกว่า ใช่ xcopy อาจใช้งานได้ แต่ robocopy กำลังเคลื่อนที่ไปข้างหน้าได้ดีขึ้น ตรวจสอบ en.wikipedia.org/wiki/Robocopy#Features สำหรับรายละเอียดเกี่ยวกับสาเหตุที่ดีกว่า xcopy
dr.nixon

ปัญหาไม่ได้ xcopy VS robocopyปัญหาใดที่หนึ่งคัดลอกโฟลเดอร์ ฉันแก้ไขคำตอบของคุณเพื่อให้ตัวอย่างการทำงาน - จำเป็นต้องระบุโฟลเดอร์ปลายทาง
Kevin Panko

ฉันจะไม่โต้แย้ง robocopy เป็นเครื่องมือที่มีประสิทธิภาพมากขึ้น คำถามถูกแก้ไข แต่ทำงานอยู่ robocopy /e src dest จะไม่สร้าง src ไดเรกทอรีภายใน destยกเว้นว่าคุณระบุอย่างชัดเจน
and31415

1

คำถามถูกแท็กด้วย cmd.exe แต่ PowerShell รวมอยู่ในมาตรฐานตั้งแต่ Windows 7

ใน PowerShell สามารถทำได้ง่ายๆดังนี้

Copy-Item -Recurse src dest

หรือสั้นกว่า แต่เหมือนกัน:

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