PowerShell xcopy | คู่มือฉบับสมบูรณ์สำหรับ PowerShell xcopy
ข้อมูลเบื้องต้นเกี่ยวกับ PowerShell xcopy
บทความต่อไปนี้ให้ข้อมูลเค้าร่างสำหรับ PowerShell xcopy คำสั่ง xcopy (ตามชื่อที่แนะนำ) จะคัดลอกไฟล์จากตำแหน่งต้นทางไปยังตำแหน่งปลายทางรวมทั้งไฟล์ โฟลเดอร์ และแบบวนซ้ำด้วย และค่อนข้างแตกต่างจากคำสั่งคัดลอกแบบธรรมดาเนื่องจากรองรับสวิตช์หลายตัวรวมถึงการคัดลอกโครงสร้างไดเร็กทอรี ไปยังคุณลักษณะต่างๆ เช่น อ่านอย่างเดียว ซ่อน ไฟล์ระบบ และยังให้ความยืดหยุ่นบนเซิร์ฟเวอร์ออฟไลน์เพื่อกลับมาทำงานอีกครั้ง
ไวยากรณ์:
xcopy เป็นคำสั่งง่ายๆ สำหรับการคัดลอกไฟล์และโฟลเดอร์ที่มีคุณลักษณะต่างกัน
คำสั่งนี้สามารถใช้ได้กับแอตทริบิวต์เดียวหรือหลายรายการและไวยากรณ์ของคำสั่งดังแสดงด้านล่าง:
Xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]] [{/y | /-y}] [/z] [/b] [/j]คำสั่ง xcopy ทำงานอย่างไรใน PowerShell
xcopy เป็นคำสั่ง windows ใช้งานได้กับทั้ง PowerShell และ cmd เช่นกันเนื่องจากเป็นคำสั่งยูทิลิตี system32 ขณะคัดลอกไฟล์และโฟลเดอร์ คุณสามารถจัดเตรียมสวิตช์ต่างๆ ตามความต้องการของคุณเพื่อคัดลอกข้อมูลจากต้นทางไปยังตำแหน่งปลายทาง และคำสั่งนี้ทำงานคล้ายกับ Copy-Item, Copy, Robocopy ฯลฯ ด้วยสวิตช์ขั้นสูง
เมื่อเราใช้คำสั่ง xcopy ในแบตช์ไฟล์และจัดการกับข้อผิดพลาดในการคัดลอก คำสั่ง xcopy จะใช้พารามิเตอร์ ErrorLevel
ด้านล่างนี้คือรหัสทางออกสำหรับระดับข้อผิดพลาด:
-
Exit Code
คำอธิบาย
- 0
คัดลอกไฟล์ได้สำเร็จโดยไม่มีข้อผิดพลาด
- 1
ไม่พบไฟล์ที่จะคัดลอก
- 2
การดำเนินการยุติโดยผู้ใช้โดยการกด Ctrl + C
- 3
เกิดข้อผิดพลาดเนื่องจากไวยากรณ์ไม่ถูกต้อง เส้นทางต้นทางหรือปลายทางไม่ถูกต้อง ข้อผิดพลาดของดิสก์หรือหน่วยความจำ
- 4
เกิดข้อผิดพลาดในการเขียนดิสก์
ตัวอย่างของ PowerShell xcopy
รับด้านล่างเป็นตัวอย่างของ PowerShell xcopy:
ตัวอย่าง #1
การคัดลอกไฟล์ด้วยคำสั่ง xcopy
คำสั่งด้านล่างจะคัดลอกไฟล์ไปยังปลายทาง ในตัวอย่างนี้ ไฟล์จะถูกคัดลอกจากโฟลเดอร์ C:\DSC ไปยัง E:\Temp นี่เป็นคำสั่งง่ายๆ ซึ่งจะคัดลอกเฉพาะไฟล์พาเรนต์เท่านั้น แต่ไม่ใช่ไดเร็กทอรีย่อยและไฟล์ต่างๆ
รหัส:
xcopy C:\DSC\* E:\tempหากไม่มีโฟลเดอร์ปลายทาง คำสั่งนี้จะถามว่าสามารถสร้างโฟลเดอร์ปลายทางได้หรือไม่ และถ้าคุณกด D จะสร้างโฟลเดอร์ปลายทางและคัดลอกไฟล์
เอาต์พุต:
ตัวอย่าง #2
xcopy สำหรับการคัดลอกด้วยโฟลเดอร์ย่อย
คำสั่ง xcopy ที่ไม่มีสวิตช์จะไม่คัดลอกโฟลเดอร์ย่อยและไฟล์โฟลเดอร์ย่อย หากต้องการรวมโฟลเดอร์ย่อยและเนื้อหายกเว้นไดเรกทอรีว่าง ให้ใช้สวิตช์ /s
รหัส:
xcopy C:\DSC\* E:\temp /sเอาต์พุต:
คำสั่งดังกล่าวไม่รวมไดเร็กทอรีว่าง หากต้องการรวมไดเร็กทอรีว่าง ให้ใช้สวิตช์ /e
รหัส:
xcopy C:\DSC\* E:\temp /s /eตัวอย่าง #3
คัดลอกไฟล์และโฟลเดอร์ที่ซ่อนอยู่
คำสั่งด้านล่างจะคัดลอกไฟล์และโฟลเดอร์ที่ซ่อนรวมถึงเนื้อหาโฟลเดอร์ย่อยและโฟลเดอร์ว่าง
รหัส:
xcopy C:\DSC\* E:\temp /s /h /eตัวอย่าง #4
สวิตช์ xcopy อื่น ๆ
ก. /w: สวิตช์นี้จะแจ้งให้ผู้ใช้ยินยอมดำเนินการต่อก่อนที่จะเริ่มการคัดลอกไฟล์ดังที่แสดงด้านล่าง
รหัส:
xcopy C:\DSC\* E:/temp /s /wเอาต์พุต:
ข. /f: หากต้องการดูตำแหน่งไฟล์ต้นทางและปลายทางขณะคัดลอก ให้ใช้สวิตช์/f
รหัส:
xcopy C:\DSC\* E:\temp /s /fเอาต์พุต:
คำสั่งดังกล่าวคัดลอกไฟล์จากต้นทางไปยังปลายทางรวมถึงโฟลเดอร์ย่อยและแสดงตำแหน่งต้นทางและปลายทางของแต่ละรายการ
ค. /l: เมื่อคุณระบุสวิตช์นี้ มันจะแสดงรายการของรายการที่จะคัดลอกไปยังโฟลเดอร์ปลายทางโดยไม่ต้องคัดลอก
รหัส:
xcopy C:\DSC\* E:\temp /s /lเอาต์พุต:
ง. /d [:MM-DD-YYYY]: คัดลอกไฟล์ใหม่ที่ได้รับการอัปเดตในหรือหลังวันที่กล่าวถึงโดยเฉพาะ เมื่อคุณไม่ระบุวันที่ ระบบจะคัดลอกไฟล์ทั้งหมดที่อัปเดต
รหัส:
xcopy C:\DSC\* E:\Temp\ /s /d /fคำสั่งข้างต้นคัดลอกไฟล์ทั้งหมดจากต้นทางไปยังปลายทางที่มีการเปลี่ยนแปลงหรืออัปเดตและยังแสดงตำแหน่งต้นทางและปลายทางด้วย
เอาต์พุต:
หากคุณสังเกตเห็น ระบบจะขอให้ผู้ใช้ยืนยันเพื่อดำเนินการต่อ หากต้องการระงับการแจ้งเตือนดังกล่าว คุณสามารถใช้สวิตช์/y
รหัส:
xcopy C:\DSC\* E:\Temp\ /s /d /y /fในทางกลับกัน สวิตช์ /-y ใช้สำหรับพร้อมท์ผู้ใช้
สวิตช์ /d ไม่เพียงคัดลอกไฟล์ที่อัปเดตเท่านั้น แต่ยังคัดลอกไฟล์ที่ใหม่กว่าไปยังปลายทางด้วย คำสั่งด้านล่างจะคัดลอก ไฟล์ซึ่งได้รับการอัปเดตหลังวันที่ 31 ธันวาคม 2020
รหัส:
xcopy C:\DSC\* E:\Temp\ /s /d:12-31-2020 /yจ. /h: เพื่อคัดลอกไฟล์ที่ซ่อนและไฟล์ระบบที่ไม่รวมอยู่ในคำสั่ง xcopy ตามค่าเริ่มต้น
รหัส:
xcopy C:\DSC E:\Temp\ /s /h /y /fคำสั่งดังกล่าวจะคัดลอกไฟล์จากต้นทางไปยังปลายทางพร้อมกับโฟลเดอร์ย่อย ไฟล์ระบบ และไฟล์ที่ซ่อนโดยไม่ต้องมีการยืนยันจากผู้ใช้
ในทำนองเดียวกัน /r สวิตช์จะคัดลอกไฟล์แบบอ่านอย่างเดียว คำสั่งด้านล่างจะคัดลอกทั้งไฟล์ที่ซ่อนและอ่านอย่างเดียว
รหัส:
xcopy C:\DSC E:\Temp\ /s /h /r /y /fฉ. /z: คัดลอกไฟล์ผ่านเครือข่ายในโหมดรีสตาร์ทได้ ซึ่งหมายความว่าหากเซิร์ฟเวอร์ระยะไกลออฟไลน์ สวิตช์นี้จะติดตามไฟล์ที่ถูกคัดลอกและดำเนินการต่อเมื่อเซิร์ฟเวอร์ออนไลน์ นอกจากนี้ยังแสดงเปอร์เซ็นต์ของไฟล์ขนาดใหญ่ที่คัดลอกมาด้วย
รหัส:
xcopy C:\DSC \\ad\shared\temp /s /zก. /ยกเว้น: หากต้องการยกเว้นรายการใดรายการหนึ่ง เราจำเป็นต้องสร้างรายการในไฟล์ข้อความที่มีชื่อรายการที่จะยกเว้น
ในตัวอย่างด้านล่าง ไฟล์ไม่รวมรายการ.txt มีรายการที่จะยกเว้น
เราสามารถใช้คำสั่งด้านล่างเพื่อคัดลอกรายการไปยังปลายทางด้วยโฟลเดอร์ย่อย
รหัส:
xcopy C:\DSC E:\Temp\ /s /exclude:C:\excludeditems.txtบทสรุป
คำสั่งต่างๆ เช่น Copy, xcopy, RoboCopy, Copy-Item สามารถใช้เพื่อคัดลอกไฟล์และโฟลเดอร์จากต้นทางไปยังปลายทางได้ แต่ xcopy และ Robocopy มีฟังก์ชันการทำงานที่มากกว่า และสามารถเรียกใช้จากไฟล์แบตช์และจากสคริปต์ PowerShell ด้วย การรองรับสวิตช์อย่างแข็งแกร่งดังที่กล่าวมาทำให้ง่ายต่อการใช้งานและง่ายต่อการกู้คืนจากการฟื้นตัวที่ร้ายแรง






