প্রতি 10 সেকেন্ড ব্যাচের ফাইল কিছু করুন


24

আমার একটি ব্যাচের ফাইল রয়েছে:

arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns

আমি প্রতি 10 সেকেন্ডে উইন্ডোজ এক্সপিতে এই দুটি কমান্ড কীভাবে করতে পারি?


3
আপনি উইন্ডোজ শিড্যুলড টাস্কগুলিকে এক মিনিটে একবার নামাতে ব্যবহার করতে পারেন।

উইন্ডোজ ব্যাচের মাধ্যমে এটি সম্ভব: নীচে আমার সমাধান দেখুন। একমাত্র সমস্যা সিপিইউ ব্যবহার ...
কোকবিরা

উত্তর:


36

এটি একটি 10 ​​সেকেন্ড তোলে। বিলম্ব:

timeout /t 10

সুতরাং এটি চেষ্টা করুন:

 :loop
 arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
 ipconfig /flushdns
 timeout /t 10
 goto loop

1
গত দশকে উইন্ডোজ তৈরির যে কোনও সংস্করণটির সঠিক উত্তর (প্রশ্নে উল্লিখিত উইন্ডোজ এক্সপি সহ)। ধন্যবাদ :-)
Woot

এটি প্রকৃতপক্ষে অপেক্ষা করে -1 - wa 999 সেকেন্ড (3 1day3,7h | উইন্ডোজ 7) - যে /tকোনও কী টিপানোর জন্য OR এ উল্লিখিত নম্বর - যা পরম পাঠিয়ে বন্ধ করা যেতে পারে /NOBREAK:)
jave.web

19

আর একবার চেষ্টা কর:

:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop

পিং কমান্ডটি 10 ​​সেকেন্ডের জন্য কার্যকর হবে এবং সমস্ত আউটপুট NUL ডিভাইসে পুনঃনির্দেশিত হবে, যার অর্থ আপনি পিং কমান্ড থেকে কোনও আউটপুট দেখতে পাবেন না। এটি আসলে "ঘুম" কমান্ড হিসাবে কাজ করে।


11
:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top

সম্পাদনা: মন্তব্যগুলিতে উল্লিখিত হিসাবে, SLEEPএকটি সাধারণ ইনস্টল উপলব্ধ হবে না। আপনার উইন্ডোজ 2003 রিসোর্স কিট এর মতো কিছু দরকার হবে, বা এটি সিমুলেট করার জন্য কিছু অন্য কৌশল (পিং ট্রিক ব্রুনো উল্লেখ করেছেন) এবং এটি করার জন্য নোটগুলি এখানে পাওয়া যাবে


6
ঘুম ডিফল্ট হিসাবে অন্তর্ভুক্ত করা হয় না। এটি পেতে আপনার রিসোর্স কিট বা কিছু দরকার?
মার্সিসি

আমার ঠিক কী দরকার?

তাই না? আমি শপথ করতে পারি এটি এমন কিছু যা আমি বিশ্বাস করতে পারি তবে আমার ধারণা choiceএটি স্ট্যান্ডার্ডের সাথে অন্তর্ভুক্ত নাও হতে পারে। আমি এটি আরও তাকান।

1
স্লিপ কমান্ড "নকল" করতে উইন্ডোতে আর কিছু ইনস্টল করার দরকার নেই। একটি উদাহরণের জন্য আমার উত্তর একবার দেখুন।

1

আরও সুনির্দিষ্ট সমাধান একবারে পিন অমীমাংসিত হোস্ট এবং সময়সীমা নির্ধারণ করে

পিং 1.0.0.0 -n 1 -w 10000> নুল

তবে এটি পরজীবী ট্র্যাফিক জেনারেট করে


1

আপনি forএবং pingআদেশটি ব্যবহার করতে পারেন :

@echo off
for /l %%a in (0,0,0) do (
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping -n 11 localhost >nul
)

আপনি ping -n [secs+1] localhost >nulসেকেন্ডে নির্দিষ্ট সময় অপেক্ষা করতে ব্যবহার করতে পারেন ।


1
কেন একই পিং কমান্ড অন্য উত্তরে প্রস্তাবিত ঠিক তার চেয়ে ভাল?
রালফ্রেডল

ন্যায়বিচারের জন্য, এটি প্রথম উত্তর যা দেখায় যে কীভাবে ব্যবহার না করে অসীম লুপটি করা যায় goto
স্কট

0

প্রতারণা:

ব্যাচটি 10 ​​সেকেন্ডের জন্য বিরতি দিতে এই কমান্ডটি ব্যবহার করুন

পছন্দ / এন / টি: সি, <10> / সি: সিসি

এখন, এটি ব্যাচে একটি শেষ না হওয়া লুপে রাখুন এবং ভয়েলি!


1
অথবা আপনি যদি চান তবে রিসোর্স কিটটি ডাউনলোড করুন বা ঘুমানোর জন্য একটি সাধারণ প্রগতি লিখুন 10 আমার পদ্ধতিটি তবে আপনাকে আরও বেশি সফ্টওয়্যার ডাউনলোড না করেই অন্য মেশিনে স্থানান্তরিত করতে পারবে।

আমি choiceএক্সপি এবং তার পরে এসেছি বলে মনে করি নি , বা কমপক্ষে আমি কোনও সাম্প্রতিক ইনস্টলগুলিতে এটি দেখিনি।

1
আমি এই ল্যাপটপে ভ্যানিলা ভিস্তা হোম প্রিমিয়াম চালাচ্ছি এবং এটি দুর্দান্ত কাজ করে।

উইন্ডোজ এক্সপির জন্য কোনও "পছন্দ" নেই !!!
কোকবিরা

0

সাইগউইন ইনস্টল করুন যা আপনার জন্য তৈরি করবে sleepএবং cronউপলভ্য হবে (অন্যান্য জিনিসের মধ্যে)।


2
ওভারকিল কী চাইছে তার জন্য!

-1

নীচে, এটি একটি কুরুচিপূর্ণ এবং একটি সুন্দর উপায়, একটি উইন্ডোজ ব্যাচের ফাইল - এটি কিছু না করার জন্য অনেকগুলি সিপু সময় ব্যয় করে, তবে এটি আপনি যা চান তা করে এবং এটি খুব সুন্দর।

SETLOCAL EnableDelayedExpansion

::in seconds
set time2stop=10

:loop1
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns

for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
  set hour1=%%i
  set min1=%%j
  set sec1=%%k
)

for /f "tokens=1* delims=," %%i in ("!sec1!") do (
  set isec1=%%i
)

:loop2

for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
  set hour2=%%i
  set min2=%%j
  set sec2=%%k
)

for /f "tokens=1* delims=," %%i in ("!sec2!") do (
  set isec2=%%i
)

set /a delta=3600*(!hour2!-!hour1!)+60*(!min2!-!min1!)+(!isec2!-!isec1!)
if !delta! geq !time2stop! goto end2

goto loop2

:end2

@echo on

goto loop1

আরেকটি উপায় হ'ল কিছু লুপ ক্রম করা, উদাহরণস্বরূপ পুনরাবৃত্তি করা (জন্য / l %% i ইন (1,1,65535) কিছুই সেট করে না = 0) কিছু সময় এবং "ক্যালিব্রেটিং" "কতবার" আপনাকে পরীক্ষার পুনরাবৃত্তি করতে হবে 10 সেকেন্ডে ফলাফল, হাহাহা। তবে এটি কুৎসিত উপায়।
কোকবিরা

আপনি ফাংশন হিসাবে ব্যবহার করতে কিছু উইন্ডোজ ব্যাচও তৈরি করতে পারেন (একটি সময় বিভক্ত করার জন্য, অপেক্ষার জন্য একজন ...) তবে এটি আরও জটিল হবে ...
কোকবিরা

আমি মনে করি আপনি যদি এটি 23:59:51 থেকে 23:59:59 অবধি ব্যবহার করেন তবে এটি একটি ত্রুটি সৃষ্টি করবে - সেই ক্ষেত্রে, ব্যাচটি চিরকাল অপেক্ষা করবে ... কিছু "যদি এর" সমস্যার সমাধান করবে ...
কোকবিরা

আপনি যদি নির্ধারিত সময়ের জন্য পরীক্ষা করতে চান (একটি সময় + 10 সিসি নয়) আপনি কেবল "যদি% সময়% জিক 10:30 10 এর শেষ না হয়" করতে পারেন। সমাধানটি জটিল হয়ে ওঠে কারণ ...
কোকবিরা

এটা আসলে ভয়াবহ। প্রথমত, অপেক্ষা করতে ব্যস্ত। অযথা সিপিইউ চক্র নষ্ট করা কখনই ভাল ধারণা নয় (এম্বেডড হার্ডওয়্যার ব্যতীত)। এটি মধ্যরাতের আশেপাশে সঠিকভাবে কাজ করতে দেখা যায় না।
জোয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.