คัดลอกหลายแฟ้ม Multi Copy
Digital logic | OS | คำสั่งดอส | Batch | Debug | Assembly | GWBasic | Docker |
mcopy.bat และ copyto.bat ใช้สำหรับคัดลอกหลายแฟ้มไป Destination เดียวกันได้

คำสั่ง copy ใช้คัดลอก เช่น *.doc ไปที่ต่าง ๆ ได้ แต่ไม่สามารถ copy *.doc *.ppt x.gif y.jpg oho.bat ไปที่ต่าง ๆ ได้พร้อมกันด้วยคำสั่งเดียว จึงต้องสร้าง batch file ให้สามารถทำงานนี้ได้ โดย 2 โปรแกรมนี้ต่างกันที่รูปแบบการใช้
    คำสั่งที่ควรรู้
  1. การสร้าง และสั่งประมวลผล
  2. @echo off
  3. rem
  4. %0 คือ Batch Name
  5. %1 คือ First Param
  6. shift
     
  1. set และ %x%
  2. :label และ goto
  3. if ==
  4. echo
  5. copy
  6. move
ตัวอย่าง Batch
โปรแกรม x.bat เช่น c:\>x a b
@echo off
echo %0
shift
echo %1
ผลลัพธ์คืออะไร
ตัวอย่างการใช้โปรแกรม copyto.bat
c:\>copyto c:\x *.doc b.ppt c.xls
เมื่อ c:\x คือ directory ปลายทาง
ใช้คัดลอกแฟ้ม *.doc b.ppt c.xls จาก directory ปัจจุบันไปเก็บใน c:\x ซึ่งคอมพิวเตอร์ต้องมีห้องนี้รอรับแฟ้มของท่านแล้ว
(ถ้าไม่มีก็สร้างสิครับ ด้วยคำสั่ง md c:\x)
copyto.bat
@echo off
rem copyto.bat c:\x *.doc b.ppt c.xls
set destdir=%1
:start
shift
if "%1" == "" goto end
copy %1 %destdir%
goto start
:end
echo bye
ตัวอย่างการใช้โปรแกรม mcopy.bat
c:\>mcopy *.doc b.ppt c.xls c:\x
เมื่อ c:\x คือ directory ปลายทาง
ใช้คล้าย copyto แต่ทำหน้าที่สลับ destination กับ copylist ทำให้ผู้ใช้คุ้นเคยเหมือนคำสั่ง copy ที่คัดลอกจากต้นทางไป ปลายทาง มิใช่ระบุปลายทางก่อน
โปรแกรม mcopy จะเรียกใช้ copyto จึงต้องมั่นใจก่อนว่า copyto ทำงาน
mcopy.bat
@echo off
rem mcopy.bat *.doc b.ppt c.xls c:\x
set copylist=
:start
if "%2" == "" goto end
set copylist=%copylist% %1
shift
goto start
:end
set destination=%1
copyto %destination% %copylist%

รูปแบบของคำสั่ง copy ในระบบ DOS
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\student.CPSC_NEE>copy /?
Copies one or more files to another location.
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
  source       Specifies the file or files to be copied.
  /A           Indicates an ASCII text file.
  /B           Indicates a binary file.
  /D           Allow the destination file to be created decrypted
  destination  Specifies the directory and/or filename for the new file(s).
  /V           Verifies that new files are written correctly.
  /N           Uses short filename, if available, when copying a file with a
               non-8dot3 name.
  /Y           Suppresses prompting to confirm you want to overwrite an
               existing destination file.
  /-Y          Causes prompting to confirm you want to overwrite an
               existing destination file.
  /Z           Copies networked files in restartable mode.