چگونه یک فایل را در پوشههای متعدد کپی کنیم؟ ( با استفاده از BAT فایل)
سناریو: می خواهیم یک فایل را در تعداد زیادی پوشه که در کنار هم هستند کپی کنیم !
بی شک اگر تعداد پوشههای مورد نظر زیاد باشد کپی تک تک کار سختی میباشد
با استفاده از اسکریت نویسی فایل BAT به راحتی و در کمترین زمان میتوانیم این کار را انجام دهیم
مطالعه مطلب زیر توصیه میشود:
درباره Batch File و دستورات CMD و .BAT
@echo off for /D %%a in ("D:\New folder\*.*") do xcopy D:\1.txt "%%a\" pause
توضیح:
با دستور @echo off غیر تعاملی بودن را فعال میکنیم
FOR یک چرخه ایجاد میکنم
سویچ D/ برای دستور For میباشد و امکان کار با پوشهها را میدهد
%%a به معنی کار با تکتک فایلهای موجود در فولدری است که فایل bat در آن اجرا میشود.
از دستور xcopy در حلقه به وجود آماده از نام پوشههای موجود در مسیر داده شده فایل مورد نظر را جهت کپی استفاده میکنیم
برای دستور xcopy سویچ و پارامترهای /s/d/y/c/v/r را انتخاب میکنیم (/s کپی پوشهو زیر پوشهها – /d فایلهای کپی شده در تاریخ یا بعد از تاریخ مشخص شده تغییر کرده است. اگر هیچ تاریخی داده نشود، فقط آن فایلهایی را که زمان منبع تازهتر از زمان مقصد هستند کپی میکند. – /y برای اوررایت و عدم توقف – /c عدم توقف برای خطاها- /v اطمینان از قابل خواندن بودن – /r نوشتن فایلهای فقط خواندنی)
مسیر فولدرهای که میخواهیم فایل در آنها کپی شود را بجای D:\New folder می نویسیم
نام و مسیر فایل مورد نظر را بجای D:\1.txt مینویسیم
Pause مانع از بسته شدن فایل میشود تا زمانی که کاربر کلیدی را فشار دهد
موفق باشین