Batch Script-এ টেক্সট ফাইল থেকে ডেটা বের করা (Data Extraction) খুবই গুরুত্বপূর্ণ একটি কাজ, যেটি আপনাকে ফাইল থেকে তথ্য প্রক্রিয়া করতে এবং নির্দিষ্ট ডেটা নিয়ে কাজ করতে সহায়তা করে। for /f কমান্ড ব্যবহার করে Batch Script-এ ফাইলের প্রতিটি লাইনে লুপ করে গিয়ে ডেটা বের করা সম্ভব হয়।
for /f
কমান্ডের গঠনfor /f "options" %%variable in (file) do command
"tokens=*"
বা "delims=,"
।যদি আপনি একটি টেক্সট ফাইলের প্রতিটি লাইন প্রিন্ট করতে চান, তাহলে নিম্নলিখিত স্ক্রিপ্ট ব্যবহার করতে পারেন।
data.txt
apple
banana
cherry
@echo off
for /f "tokens=*" %%a in (data.txt) do (
echo %%a
)
pause
এখানে, "tokens=*" ফাইলের প্রতিটি লাইনে থাকা পুরো স্ট্রিংকে %%a ভেরিয়েবলে ধারণ করবে এবং তা স্ক্রিনে প্রিন্ট করবে।
আউটপুট:
apple
banana
cherry
ধরা যাক, আপনার কাছে একটি CSV (Comma Separated Values) ফাইল রয়েছে এবং আপনি সেখানে থেকে কিছু নির্দিষ্ট কলামের ডেটা বের করতে চান।
data.csv
apple,10
banana,20
cherry,30
এখানে আপনি প্রথম কলাম (ফল) এবং দ্বিতীয় কলাম (পরিমাণ) আলাদা করতে চান।
@echo off
for /f "tokens=1,2 delims=," %%a in (data.csv) do (
echo Item: %%a, Quantity: %%b
)
pause
এখানে:
,
) ডেলিমিটার হিসেবে ব্যবহার করবে।আউটপুট:
Item: apple, Quantity: 10
Item: banana, Quantity: 20
Item: cherry, Quantity: 30
Batch Script-এ আপনি findstr কমান্ড ব্যবহার করে ফাইল থেকে নির্দিষ্ট শব্দ বা স্ট্রিং খুঁজে বের করতে পারেন।
data.txt
apple
banana
cherry
orange
এখন আপনি ফাইলটিতে "banana" শব্দটি খুঁজে বের করতে চান।
@echo off
findstr "banana" data.txt
pause
এটি data.txt ফাইলের মধ্যে "banana" শব্দটি খুঁজে বের করবে এবং তা স্ক্রিনে দেখাবে।
আউটপুট:
banana
কিছু সময় ফাইলে শিরোনাম বা হেডার থাকে, যেটি আপনি প্রক্রিয়া করতে চান না। Batch Script-এ skip অপশন ব্যবহার করে আপনি প্রথম কয়েকটি লাইন (যেমন শিরোনাম) বাদ দিয়ে পরবর্তী ডেটা প্রক্রিয়া করতে পারেন।
data.csv
Item,Quantity
apple,10
banana,20
cherry,30
এখানে আপনি শিরোনামটি বাদ দিয়ে ডেটা বের করতে চান।
@echo off
for /f "skip=1 tokens=1,2 delims=," %%a in (data.csv) do (
echo Item: %%a, Quantity: %%b
)
pause
এখানে, skip=1 নির্দেশনা দিয়ে শিরোনাম (প্রথম লাইন) বাদ দেওয়া হয়েছে এবং বাকি লাইনগুলি প্রক্রিয়া করা হচ্ছে।
আউটপুট:
Item: apple, Quantity: 10
Item: banana, Quantity: 20
Item: cherry, Quantity: 30
একাধিক টেক্সট ফাইলের ডেটা বের করার জন্য আপনি for কমান্ডের মধ্যে একাধিক ফাইল পাথ ব্যবহার করতে পারেন।
@echo off
for %%f in (file1.txt file2.txt file3.txt) do (
for /f "tokens=*" %%a in (%%f) do (
echo %%a
)
)
pause
এখানে, for %%f একাধিক ফাইলের জন্য লুপ চালাবে এবং প্রতিটি ফাইলের লাইন অনুযায়ী ডেটা প্রিন্ট করবে।
Batch Script-এ for /f কমান্ড ব্যবহার করে টেক্সট ফাইল থেকে ডেটা বের করা একটি শক্তিশালী টুল। আপনি টেক্সট ফাইলের প্রতিটি লাইন পড়তে, নির্দিষ্ট ডেলিমিটার দ্বারা ডেটা বিভক্ত করতে, নির্দিষ্ট কলাম বা তথ্য বের করতে, এবং এমনকি নির্দিষ্ট স্ট্রিং খুঁজে বের করতে পারেন। findstr কমান্ড ব্যবহার করে আপনি কোনো নির্দিষ্ট শব্দ বা স্ট্রিং খুঁজে বের করতে সক্ষম হবেন। Batch Script আপনাকে সহজেই ফাইল থেকে তথ্য প্রক্রিয়া এবং প্রয়োজনীয় ডেটা বের করার সুযোগ দেয়।
common.read_more