ملف دفعي  ملف دُفْعِيّ (بالإنكليزية: batch file) هي اسم لنوع من الملفات في أنظمة دوس، أو إس/2 وويندوز، تحتوي على أوامر يتم تنفيذها في مترجم الأوامر بنفس لغة jcl والأنظمة الأخرى لأجهزة الحاسوب المركزية الكبيرة والحواسيب الصغيرة، تتم إضافة الملف الدُّفْعيّ لتسهيل أي عمل مطلوب لتنفيذ مهمه معينه عن طريق السماح للمستخدم بكتابة تعليمات معينة من اجل تنفيذها على نظام تشغيل. عندما يعمل الملف الدُّفْعيّ يقوم البرنامج "قشرة" بقراءة الأوامر وتنفيذها بالترتيب (بعد الانتهاء من السطر يبدأ في التالي). في أنظمة التشغيل الأخرى مثل يونيكس يوجد أنواع مشابهة تسمى shell script يكون امتداد هذه الملفات هو.bat ويتم استخدامه بالعادة في نظام الدوس ونظام ويندوز 9x. في أنظمة التشغيل ويندوز إن تي وأو إس/2 وتم إضافة امتداد اخر هو.cmd.ومن الممكن ان يكون هناك امتدادات أخرى لالملف الدُّفْعيّ مثل.btm في أنظمة تشغيل أخرى مثل 4DOS وبرنامج الغطاء له هو 4NT.  من الممكن الحصول على معلومات موجزة عن امر والمتغيرات المتعلقة به يتم إظهارها على الشاشة عن طريقه طباعة الامر ومن ثم "/?" في واجهة سطر الأوامر (command prompt) ومن ثم الضغط على مفتاح enter وفي بعض الأحيان يتم كتابة الأمر ثم “-?” أو “?” وفي بعض الأحيان يظهر البرنامج معلومات عن الأمر في حالة كتابة الامر بدون المتغيرات المرفقة معه (في حال كان يتطلب متغيرات)  في ملفات الدوس يمكن ابتداء الملف الدُّفْعيّ عن طريق واجهة سطر الأوامر (command line) عن طريق كتابه الامر والمتغيرات الخاصة به ثم الضغط على زر enter وعندما يقوم الدوس بتحميل الملف فإن برنامج autoexec.bat تلقائيا يتنفذ وبهذا فإن أي أمر مطلوب تنفيذه في نظام الدوس يتم وضعه في الملف. في نظام الدوس الامتداد.bat معرف على انه ملف يحتوي على أوامر يمكن تنفيذها في مترجم الاوامر بالتسلسل في حاله انه مجموعة من الأوامر المطلوب تنفيذها مع الأخذ بعين الاعتبار عن وجود بعض الأوامر للبرمجة البسيطة مثل goto التي تغير التسلسل في تنفيذ البرنامج. قامت شركة ويندوز عام 1985 بإنتاج نظام تشغيل مع واجهه مستخدم GUI عوضا عن الأنظمة الكتابية وبالإضافة إلى ذلك كانت مصممة لتشغيل الدوس. وفي النسخ الأولى كان يمكن تشغيل الملف الدُّفْعيّ عن طريق الدوس ثم أصبحت تستعمل الcommand.com لتنفيذ الملف الدُّفْعيّ في انظمه التشغيل التالية:  Windows 95 and 98  نظام التشغيل بالشراكة بسبب خلافات وكمحصله أصبحت ترمز لنظام الدوس الذي أنتجته بdos بدون ذكر مايكروسوفت (ms-dos) ولكن هذا لم يؤثر على الملف الدُّفْعيّ التي كانت تعمل على الcommand.com.  نسخ الويندوز قبل ال NT كانت تستخدم الms-dos ونفس مترجم الاوامر (command.com) لتنفيذ الملف الدُّفْعيّ. ولكن ويندوز ان تي كانت تعمل مباشرة من لائحه التمهيد (booting list) من القرص الصلب وتم تطوير معالج اوامر من 32بت (cmd.exe)ويمكنه التعامل مع الملفات ذات الامتداد.bat و.cmd  cmd.exe أضاف أوامر إضافية بالإضافة للاصليه بأسلوب مختلف قليلا لذا من الممكن ان يعمل الملف الدُّفْعيّ باختلاف قليل بين الcommand.com والcmd.exe ولكن في معظم الأحيان يعطي نفس النواتج. اطلقت مايكروسوفت نسخه من الcmd.exe لويندوز9x و ME واسمها win95cmd لتتيح لمستخدمي النسخ القديمة من الويندوز استخدام cmd.exe في نسخ أقدم من ويندوز لالملف الدُّفْعيّ. في ويندوز8 cmd.exe هي عباره عن مترجم اوامر لملفات الباتس، الcommand.com يمكنه ان يعمل على الcmd.exe (نسخ ويندوز 32بت يمكنها تشغيل برامج ال16بت).  الفرق الوحيد هو أنه في ملفات الـ.cmd هناك متغير هو errorlevel يتغير مع الأوامر الصحيحة والتي تتأثر بامتدادات الأوامر اما ملفات ال.bat فلا تتأثر الا بالأوامر الخاطئة. لغه ال cmd.exe والتي تنفذ كل ملفات ال.cmd مدعومة في كل نسخ ويندوز ال 32بت وال64بت إلى النسخة التجريبية من ويندوز8 اما الcommnad.com التي تنقذ ملفات ال.bat فهي مدعومه في نسخ ال32بت وال16بت وحتى النسخة التجريبية من ويندوز8. ومع وجود ويندوز باورشيل التي تعد أفضل في الإصدارات الأخيرة من ويندوز ولكن مايكروسوفت لا تزال تستخدم ملفات ال.cmd إلى الآن على الأقل في ملفات الويندوز سيرفر 2008. والان يوجد لغات برمجة أفضل قدمتها مايكروسوفت للويندوز مثل:  من الممكن تنفيذ الملف بكتابة اسمه بدون الامتداد لهذا الملف ولكن في حال تكرار اسم الملف بامتدادات مختلفة فان هناك قوانين تحدد البرنامج الذي سيتم ترجمته فمثلا دائما البرامج ذات الامتداد.com لها أولوية أعلى من غيرها ولكن في أنظمة التشغيل الجيدة يمكن للمستخدم تغيير الأولويات.