for( এটি দেখার জন্য চালানো for /?) এর জন্য ডকুমেন্টেশনগুলি দেখে, আমি মনে করি না যে for /fপাইপ থেকে পড়বে read একমাত্র বৈধ উত্স ফাইল-সেট, "স্ট্রিং" এবং 'কমান্ড'।
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
আপনি এইভাবে কমান্ডটি ভিতরে রাখতে forপারেন:
for /f "tokens=15" %f in ('ipconfig ^| findstr "Address"') do @echo %f
192.168.x.x
192.168.y.y
(নিউরোলাইসিসকে এটি নির্দেশ করার জন্য ধন্যবাদ এবং এটি ^|কেবল হওয়া উচিত |)
অথবা আপনি ipconfig | findstr "Address"একটি পৃথক ব্যাচের স্ক্রিপ্ট স্থাপন এবং কল করার চেষ্টা করতে পারেন :
for /f "tokens=14" %f in ('ipaddresses') do @echo %f
(ধরে নিলাম আপনাকে স্ক্রিপ্ট বলা হয়েছে ipaddresses)।
অথবা আপনি খুব forকাজটি করতে ব্যবহার করতে পারেন findstr, এটি:
for /f "tokens=2,14" %i in ('ipconfig') do @if %i==Address. @echo %j
192.168.x.x
192.168.y.y
এটি একেবারে সমান নয় কারণ এটি আইপিভি 6 অ্যাড্রেসের সাথে মেলে না, তবে এই লাইনের সাথে কিছু কাজ করতে পারে।
এছাড়াও মনে রাখবেন আমি পরিবর্তন tokens=15করতে tokens=14। আমি মনে করি লাইনের শেষ ক্ষেত্রটি টোকেন 14 any যাইহোক আমার পক্ষে কাজ করে।