উইন্ডোজ ব্যাটের স্ক্রিপ্টে লুপের গণনা 1 থেকে n পর্যন্ত


25

ব্যাট স্ক্রিপ্ট ফাইলের মধ্যে আমার বার উইন্ডোজ কমান্ড চালানো দরকার। আমি বিভিন্ন প্রোগ্রামিং ভাষায় এটি কীভাবে করব তা জানি তবে উইন্ডোজ কমান্ড লাইনে এটি পাওয়ার জন্য পরিচালনা করতে পারি না :-(

আমি উভয় মত কিছু আশা করি

for(int i = 0; i < 100; i++) {
   // do something
}

বা এমনকি এটি (যদিও পুরোপুরি গুরুত্ব সহকারে নয়)

1.upto(100, {
   // do something
}) 

ধন্যবাদ!

সম্পাদনা

আমি জাভা, পার্ল, সি বা যে কোনও ব্যাট স্ক্রিপ্ট তৈরি করে যা দেখতে দেখতে কোনও প্রোগ্রাম লিখতে পারি

for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N

ইত্যাদি। বা "আরও ভাল":

echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12

এবং তারপর এটি চালানো ... কিন্তু জিনিস যে, আমি একজন সংক্ষিপ্ত পথ মাধ্যমে পুনরুক্তি করতে সংখ্যার একটি পরিসীমা নির্দিষ্ট করতে হবে হয় মধ্যে স্ক্রিপ্ট।

ধন্যবাদ!


1
এখানে উত্তরগুলি পুরোপুরি ভাল তবে Godশ্বরের ভালবাসার জন্য ... ব্যাচ? সত্যি? আমি আরও আধুনিক ভাষাতে যাওয়ার পরামর্শ দিচ্ছি।
ইবিগ্রিন

বিষয়টির মধ্যে তিনি একটি পছন্দ পেয়েছেন বলে মনে হচ্ছে না।
ওল্ফগ্যাংসজ

আমি এমন কোনও কিছুই দেখিনি যা ইঙ্গিত করে যে কোনও বিকল্প নেই। প্রকৃতপক্ষে তিনি বলেছিলেন যে তিনি "যাই হোক না কেন" ভাষায় লিখতে পারেন, তাই আমি বলতে পারি যে আরও তথ্য না দিয়ে মনে হচ্ছে তার কোনও পছন্দ আছে।
ইবিগ্রিন

বলছি, আমার কোডটি স্থাপন করা দরকার যা একটি স্ক্রিপ্টের মাধ্যমে আধুনিক ভাষায় লেখা হয়েছিল ...
রাউলসন ২

1
এটি প্রয়োজন বা প্রয়োজন নেই - কখনও কখনও এটি কাজের জন্য সঠিক সরঞ্জাম। আপনি পাওয়ারশেলের গ্যারান্টি দিতে পারবেন না, একা একা বাশ, পাইথন, পার্ল ইত্যাদি উইন্ডোজ এক্সপি বা 2003 সার্ভার বক্সে ইনস্টল করা হোক। ব্যাচ একটি নিখুঁতভাবে গ্রহণযোগ্য সমাধান।
গয়েইক্স

উত্তর:


44

আপনি এটি একইভাবে এটি করতে পারেন:

ECHO Start of Loop

FOR /L %i IN (1,1,5) DO (
  ECHO %i
)

1,1,5 এটিকে ডিকোড করা হয়েছে:

(start,step,end)

আরও মনে রাখবেন, আপনি যদি এটি একটি ব্যাচ ফাইলে এম্বেড করে থাকেন তবে আপনার ভেরিয়েবলগুলি উপসর্গ করতে আপনার ডাবল শতাংশ চিহ্ন (%%) ব্যবহার করতে হবে, অন্যথায় কমান্ড ইন্টারপ্রেটার লুপটি চালানোর আগে% i পরিবর্তনশীলটি মূল্যায়নের চেষ্টা করবে।


3
"ইসিও স্টার্ট অফ লুপ" কেবলমাত্র শুরু নয়, প্রতিটি পদক্ষেপে কার্যকর করা হবে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1
এছাড়াও, একটি @চিহ্ন ব্যবহার করে কমান্ড লাইন থেকে সম্পাদন করার সাথে সাথে কমান্ডগুলি মুদ্রণের উপর নির্ভর করবে। "... ডিও @ (..."
পরবর্তী বিজ্ঞপ্তি না হওয়া পর্যন্ত থামানো হয়েছে

এটি কেবল "ফর" এর পরে / এল দিয়ে কাজ করে। এটা কেন?
রাউলসন

1
একটি জন্য /? এবং আপনি পাবেন: ফর / এল% পরিবর্তনশীল IN (শুরু, পদক্ষেপ, শেষ) ডিও কমান্ড [কমান্ড-পরামিতি] সেটটি ধাপের পরিমাণ অনুসারে শুরু থেকে শেষ পর্যন্ত সংখ্যার ক্রম। সুতরাং (1,1,5) 1 2 3 4 5 এবং (5, -1,1) সিকোয়েন্স তৈরি করবে (5 4 3 2 1)
ইবিগ্রিন

%%iআপনার পাঠ্যে ব্যবহার করা এবং মন্তব্য যুক্ত করা ভাল যে এটি %iকমান্ড লাইনে সরাসরি সম্পাদনের জন্য। বেশিরভাগ ব্যবহারকারী এটি বিএটি ফাইলে পরীক্ষা করে এবং কেন ত্রুটি পাবে তার কারণ অনুসন্ধান করার চেষ্টা করবেন (আমার মতো)।
i486


6

কমান্ড লাইন থেকে সরাসরি:

for /L %n in (1,1,100) do @echo %n

একটি ব্যাচ ফাইল ব্যবহার:

@echo off
for /L %%n in (1,1,100) do echo %%n

প্রদর্শন করা হয়:

1
2
3
...
100

সংখ্যা ক্রমটি যদি 0001 থেকে 00100+ ইত্যাদি হয় তবে কী হবে?
nwgat
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.