คุณสามารถใช้แบตช์ไฟล์เพื่อเรียกใช้Xcopy
คำสั่งของคุณด้วยการตรวจสอบแล้วตามด้วยการตรวจสอบระดับข้อผิดพลาดที่ส่งกลับโดย Xcopy เพื่อตรวจสอบว่าไฟล์ที่คัดลอกสำเร็จหรือไม่ หากเป็นเช่นนั้นลบแหล่งที่มา
จากเอกสาร Xcopy :
Exit
code Description
==== ===========
0 Files were copied without error.
1 No files were found to copy.
2 The user pressed CTRL+C to terminate xcopy.
4 Initialization error occurred. There is not
enough memory or disk space, or you entered
an invalid drive name or invalid syntax on
the command line.
5 Disk write error occurred.
ชุดตัวอย่าง:
Rem Attempt file copy...
xcopy /D /V %1 %2
Rem Check result code and if it was successful (0), delete the source.
if errorlevel 0 (
echo Copy completed successfully
del /Q %1
exit /B
)
Rem Not Errorlevel 0...
echo Copy failed for some reason.
/v
จะไม่รับประกันว่าไฟล์นั้นถูกเขียนอย่างถูกต้อง: ดิสก์และแคชระบบปฏิบัติการหมายความว่าไฟล์ในแคชการเขียนจะถูกดึงมาจากที่นั่นก่อนที่มันจะถูกส่งไปเรียบร้อยแล้ว ตัวเลือกที่ปลอดภัยเพียงอย่างเดียวคือการทำสำเนาและกำหนดเวลาการตรวจสอบและลบในอนาคต Heuristically ฉันจะบอกว่า 5 นาทีจะพอ แต่ไม่มีกฎที่ยากและรวดเร็ว: มันขึ้นอยู่กับกิจกรรมของดิสก์และขนาดของแคช (ฉันพูดเป็นคนที่ประสบความล้มเหลวในการเขียนแคช)