Batch Script-এ loop ব্যবহার করে আপনি ফাইল এবং ডিরেক্টরি গুলোর উপর একাধিক অপারেশন চালাতে পারেন। যখন আপনি একটি ডিরেক্টরির সমস্ত ফাইলের সাথে কাজ করতে চান, অথবা বিভিন্ন ফাইলের উপর কোনো নির্দিষ্ট কাজ করতে চান, তখন for
লুপটি খুবই কার্যকরী। এটি আপনাকে স্বয়ংক্রিয়ভাবে একাধিক ফাইল বা ডিরেক্টরি প্রসেস করতে সাহায্য করে।
for লুপের মাধ্যমে আপনি একটি নির্দিষ্ট ডিরেক্টরির সমস্ত ফাইল বা সাব-ডিরেক্টরি সম্পর্কে তথ্য পেতে পারেন এবং তাদের উপর অপারেশন করতে পারেন। এখানে কয়েকটি সাধারণ উদাহরণ দেওয়া হলো:
for
লুপ ব্যবহার করে একটি ডিরেক্টরির মধ্যে থাকা সব ফাইলের উপর কাজ করতে পারেন।
@echo off
for %%F in (C:\path\to\folder\*) do (
echo %%F
)
pause
এখানে %%F
হলো প্রতিটি ফাইলের রেফারেন্স যা লুপের মধ্যে প্রতিটি ফাইলের জন্য এক এক করে ইটারেট হবে। আপনি এখানে যেকোনো ডিরেক্টরির পাথ (যেমন C:\path\to\folder\
) নির্দিষ্ট করতে পারেন।
এটি সব .txt
ফাইলের নাম দেখানোর উদাহরণ:
@echo off
for %%F in (C:\path\to\folder\*.txt) do (
echo %%F
)
pause
এখানে *.txt
দিয়ে শুধু .txt
এক্সটেনশনের ফাইলগুলোকে চিহ্নিত করা হয়েছে।
যেমন, আপনি প্রতিটি .txt
ফাইলের সাথে কিছু কাজ করতে চান। নিচে একটি উদাহরণ দেওয়া হলো যেখানে প্রতিটি .txt
ফাইলের একটি কপি তৈরি করা হচ্ছে:
@echo off
for %%F in (C:\path\to\folder\*.txt) do (
copy "%%F" "C:\path\to\destination\"
)
pause
এখানে %%F
প্রতিটি .txt
ফাইলের পাথকে রেফারেন্স করছে এবং copy
কমান্ডের মাধ্যমে সেগুলি নতুন ডিরেক্টরিতে কপি হচ্ছে।
for লুপের মাধ্যমে আপনি শুধু ফাইলই না, বরং ডিরেক্টরি নিয়েও কাজ করতে পারেন।
@echo off
for /d %%D in (C:\path\to\folder\*) do (
echo %%D
)
pause
এখানে /d
স্যুইচটি ব্যবহার করে শুধুমাত্র ডিরেক্টরির নাম গুলি তালিকাভুক্ত হচ্ছে।
যদি আপনি কোনো ডিরেক্টরি এবং তার সব সাব-ডিরেক্টরির ফাইলের উপর কাজ করতে চান, তবে /r
স্যুইচটি ব্যবহার করতে পারেন:
@echo off
for /r C:\path\to\folder %%F in (*.txt) do (
echo %%F
)
pause
এখানে /r
স্যুইচটি ব্যবহার করা হয়েছে যাতে এটা রিকার্সিভভাবে সব সাব-ডিরেক্টরিতে গিয়ে .txt
ফাইলগুলো খুঁজে বের করে এবং তাদের নাম প্রদর্শন করে।
আপনি যদি ফাইলের নাম থেকে কিছু অংশ বের করতে চান, তাহলে ~ ব্যবহার করতে পারেন।
@echo off
for %%F in (C:\path\to\folder\*.txt) do (
echo %%~nF
)
pause
এখানে %%~nF
শুধুমাত্র ফাইলের নাম দেখাবে, এক্সটেনশন বাদ দিয়ে।
@echo off
for %%F in (C:\path\to\folder\*.txt) do (
echo Full path: %%F
echo File name: %%~nxF
echo Directory: %%~dpF
)
pause
এখানে:
%%~nF
ফাইলের নাম দেখাবে%%~xF
ফাইলের এক্সটেনশন দেখাবে%%~dpF
ফাইলের ডিরেক্টরি পাথ দেখাবেfor loop Batch Script-এ ফাইল এবং ডিরেক্টরির সাথে কাজ করার একটি অত্যন্ত কার্যকরী টুল। আপনি এটি ব্যবহার করে ডিরেক্টরি ও ফাইলগুলির উপর একাধিক অপারেশন চালাতে পারেন, যেমন ফাইল কপি করা, নাম পরিবর্তন করা, বা কোনো নির্দিষ্ট কাজ করা। এছাড়াও, আপনি রিকার্সিভভাবে সাব-ডিরেক্টরিগুলোর উপরও কাজ করতে পারেন। for লুপের মাধ্যমে ফাইলের নাম, এক্সটেনশন, পাথ, এবং অন্যান্য বৈশিষ্ট্য নিয়ে কাজ করা খুবই সহজ এবং এটি Batch Script-এর অন্যতম গুরুত্বপূর্ণ ফিচার।
common.read_more