পাইপ বা অনুরূপ কোনও জিনিস আছে যা আমি উইন্ডোজ ওএসে এই লাইনটি এক লাইনে চালাতে ব্যবহার করতে পারি?
উভয় cmd.exeএবং পাওয়ারশেল পাইপগুলিকে এক কমান্ড থেকে অন্য কমান্ড সমর্থন করে। পাওয়ারশেলের মধ্যে এমন কিছু (এটি কমান্ড লাইনের একক লাইনে হওয়া উচিত, বা script কোনও স্ক্রিপ্টে নিউলাইনগুলি এড়াতে use ব্যবহার করুন):
netstat -ano
| select -skip 4
| % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}}
| ? {$_.Fields[1] -match '15120$'}
| % {taskkill /F /PID $_.Fields[4] }
কোথায়:
Select -skip 4প্রথম চারটি শিরোনাম লাইন এড়িয়ে যায়। ( বস্তুর প্রকল্পগুলির মতো এসকিউএল নির্বাচন নির্বাচন করার Selectজন্য Select-Objectব্যবহৃত সংক্ষিপ্ত) ।
%সংক্ষিপ্ত Foreach-Objectযার জন্য $_পাইপলাইনে প্রতিটি বস্তুর ( ) স্ক্রিপ্ট ব্লক সম্পাদন করে এবং স্ক্রিপ্ট ব্লকের ফলাফলগুলি পাইপলাইনে আউটপুট করে। এখানে এটি প্রথমে ক্ষেত্রগুলির অ্যারেতে ইনপুটটি ভেঙে ফেলা হচ্ছে এবং তারপরে Originalস্ট্রিং netstatএবং Fieldsঅ্যারেটি তৈরি করা দুটি বৈশিষ্ট্য সহ একটি নতুন আইটেম তৈরি করছে।
?Where-Objectকোনও স্ক্রিপ্ট ব্লকের ফলাফলের ভিত্তিতে ফিল্টারগুলি সংক্ষিপ্ত । এখানে দ্বিতীয় ক্ষেত্রের শেষে একটি রেজেক্সের সাথে মিল রয়েছে (সমস্ত পাওয়ারশেলের ধারকগুলি একটি শূন্য ভিত্তিক)।
(সর্বশেষ উপাদান ব্যতীত সমস্ত পরীক্ষিত: আমি হত্যা প্রক্রিয়া শুরু করতে চাই না :-))।
অনুশীলনে আমি এটি সরল করব, উদাহরণস্বরূপ। প্রথম থেকে মাত্র 0 বা পিআইডি ফিরিয়ে দেওয়া foreach(যা শিরোনামকে উপেক্ষা করার জন্য ডিজাইন করা হবে) এবং কল করার আগে শূন্য নয় এমন মানগুলিতে ফিল্টার করুন taskkill। এটি টাইপ করা দ্রুত তবে পাওয়ারশেল না জেনে অনুসরণ করা আরও শক্ত।
findstr(উইন্ডোজgrep) একবার দেখুন at উদাহরণস্বরূপ:netstat -a -o -n | findstr "LISTENING" | findstr ":135"। হতে পারে এটি আপনাকে আরও এক ধাপ কাছে নিয়ে যায়;)