সিস্টেমের নির্ধারিত কাজগুলি নির্বাচন করে মুছে ফেলা হচ্ছে


10

উইন্ডোজ 7 বাক্সে নির্ধারিত কার্যগুলির একটি তালিকা রয়েছে -> ডিফল্ট উইন্ডোজ টাস্ক + কিছু নির্দিষ্ট কাস্টম টাস্ক যা সমস্ত একটি নির্দিষ্ট স্ট্রিং দিয়ে শুরু হয়। পূর্ববর্তী কোড কমান্ড সহ সমস্ত কাজ মুছে ফেলেছে:

schtasks /Delete /TN * /F

এর পরিবর্তে আমরা ডিফল্ট উইন্ডোজ কর্ম বজায় রাখা, এবং বেছে বেছে যে কাজগুলো একটি নির্দিষ্ট স্ট্রিং বলে দিয়ে শুরু মুছে ফেলতে চান abctask1, abctask2। কীভাবে আরও এগিয়ে যাব? ধন্যবাদ!


আপনি কি কিছু ব্যবহার করার চেষ্টা করেছেন schtasks /Delete /TN abctask* /F?
জোনা বিশপ

1
কাজ না। আমি মনে করি * ওয়াইল্ডকার্ড প্রত্যাশার মতো কাজ করে না।

যদি ওয়াইল্ডকার্ড সেই পদ্ধতিতে সঠিকভাবে কাজ না করে, তবে আপনার সর্বোত্তম বেট হতে পারে /queryবিকল্পের সাথে তালিকার তালিকাটি পাওয়া , আপনার পছন্দসই প্যাটার্নের সাথে মেলে এমনগুলি সন্ধান করে তাদের পুরো নাম ব্যবহার করে তাদের হত্যা করা। পার্ল স্ক্রিপ্টের মতো কিছু এই ধরণের কাজের জন্য সেরা হতে পারে।
জোনা বিশপ

উত্তর:


5

ধরে নেওয়া আপনার কাজগুলি একটি শব্দ (উদাঃ, abctask1, abctask2 - "abc টাস্ক 1" নয়), এটি কাজ করা উচিত:

for /f %%x in ('schtasks /query ^| findstr abctask') do schtasks /Delete /TN %%x /F

1
আমি কল্পনা করব find, আকারের 1/4 এর কম হয়ে findstrগেলে দ্রুত প্রতিক্রিয়া হবে। এছাড়াও, উভয়ই অনুসন্ধান শব্দটি ( findতাদের প্রয়োজন) চারপাশে উদ্ধৃতি চিহ্নগুলির ব্যবহারকে সমর্থন করে, এটি করার মাধ্যমে আপনি উল্লিখিত "এবি টাস্ক 1" এর মতো কাজগুলি সন্ধান করতে পারবেন।
জেমস কে

থ্যাঙ্কস মার্ক, আসলে এটি%% x গ্রহণ করে নি, আমি এটিকে% x এ পরিবর্তন করেছি এবং এটি কার্যকর হয়েছে! :) চিয়ার্স! :)

@ ব্যবহারকারী 1620230 আমি ধরে নিয়েছি আপনি এটি একটি ব্যাচের ফাইলে চালাচ্ছেন। ব্যাচ ফাইলে %% x এ ডাবল পারসেন্ট প্রয়োজন, যেখানে কমান্ড লাইনে% x প্রয়োজন। @JamesK, আমি তোমাকে খুব কঠিন কোনো বাস্তব-বিশ্বের গতি পার্থক্য খুঁজে পেতে চাপা থাকতে চাই মনে findবনাম findstrবিশেষ করে কিছু এই ছোট। :-)

আহা, আপনি পেয়েছেন :) আচ্ছা হ্যাঁ শেষ পর্যন্ত এটি ব্যাচের স্ক্রিপ্টে ব্যবহৃত হতে পারে। তথ্যের জন্য ধন্যবাদ :)

schtasks / ক্যোয়ারী 50 টি অক্ষরে টাস্কের নাম ছেটে যায়। / XML বিকল্পটি কাটা কাটা এড়ায়। for /f "tokens=2" %%x in ('schtasks /query /xml ^| findstr taskname') do
ডেভিড

3

যদি আপনি মুছে ফেলার জন্য আপনার কাজ নির্বাচনের কাজে ওয়াইল্ডকার্ড (*) ব্যবহার করতে চান তবে এই সাধারণ ব্যাচের কমান্ডটি ব্যবহার করে দেখুন:

(কেবলমাত্র নমুনা)

echo off
del %SystemDrive%\Windows\Tasks\Google*
del %SystemDrive%\Windows\Tasks\Facebook*

2

কিছু স্টক উইন্ডোজ নির্ধারিত কাজগুলি স্বয়ংক্রিয়ভাবে অক্ষম করার উপায় খুঁজতে গিয়ে আমি এখানেই শেষ হয়েছি। ব্যাকস্ল্যাশ এবং স্পেস সহ টাস্কের নামগুলি সঠিকভাবে পরিচালনা করার জন্য আমি বর্তমানের কোনও উদাহরণ পাইনি। আমি দেখতে পেয়েছি যে সিএসভি ফর্ম্যাট এবং ফাইন্ড কমান্ড ব্যবহার করে আমার পক্ষে সবচেয়ে ভাল কাজ করেছে:

for /f "tokens=1 delims=," %%x in ('schtasks /query /fo csv ^| find "\Microsoft\Windows\Application Experience\"') do schtasks /Delete /TN %%x /F

2

আপনারা এখানে বেশ কিছুটা সাহায্য করেছেন have উপরেরগুলি সংক্ষিপ্ত নামগুলির জন্য কাজ করে এবং 'ব্যবহারকারীর 3490' স্ট্রিংয়ের জন্য বেশ সুন্দর সংযোজন করেছে, তবুও এটি স্পেস সহ নামগুলির সাথে কাজ করে বলে মনে হয় না। আমি SCHTASKS এর সাথে ওয়াইল্ডকার্ডগুলি 'এর সাথে কাজ করে দেখতে পেয়েছি।' '*' এর চেয়ে বরং স্ট্রিংটিতে একটি আকর্ষণীয় পরিবর্তন খুঁজে পেয়েছে যা অনেক প্রয়োজনীয় সুযোগ দেয়! আমি ব্যাচের ফাইলে যা ব্যবহার করেছি তার উদাহরণ নীচে পেস্ট করব:

for /f "tokens=2 delims=\" %%x in ('SCHTASKS /QUERY /FO:LIST ^| FINDSTR "AVGPCTuneUp_Task."') do SCHTASKS /DELETE /F /TN "\%%x"

for /f "tokens=2 delims=\" %%x in ('SCHTASKS /QUERY /FO:LIST ^| FINDSTR "AMD.Updater."') do SCHTASKS /DELETE /F /TN "\%%x"

for /f "tokens=2 delims=\" %%x in ('SCHTASKS /QUERY /FO:LIST ^| FINDSTR "Lenovo.Smile."') do SCHTASKS /DELETE /F /TN "\%%x"

চমৎকার পয়েন্টার জন্য এখানে সবাইকে ধন্যবাদ! আমি সচেতন যে এই বিষয়টি এক বছরের বেশি পুরানো, তবে আমি আশা করি যে এটি অন্য কাউকে সাহায্য করবে যা সম্ভবত এখনও পর্যন্ত এটি অর্জন করেন নি।


1

মার্কের উত্তর ততক্ষণ ঠিক কাজ করবে যতক্ষণ আপনি মোটামুটি সংক্ষিপ্ত নির্ধারিত টাস্কের নাম schtasks /queryরাখেন , তবে (টেবিল ফর্ম্যাট) এর ডিফল্ট আউটপুট টাস্কের নামগুলি 32 টি অক্ষরে ছাঁটাই করে দেয়, যা মুছে ফেলার চেষ্টা করার সময় ত্রুটি ঘটায়।

আপনার যদি দীর্ঘতর নামগুলির সাথে কাজ করার প্রয়োজন হয় তবে আমি পরিবর্তে তালিকা আউটপুট ফর্ম্যাটটি ব্যবহার করার পরামর্শ দেব, যা কেটে যায় না:

for /f "tokens=2 delims=\" %%x in ('schtasks /query /fo:list ^| findstr abctask') do schtasks /Delete /TN %%x /F

আপনি যে কাজগুলি মুছতে চান তা যদি একটি সাধারণ উপসর্গ থাকে, তবে আপনি খুঁজে বার থেকে ম্যাচটি আরও পরিমার্জন করতে পারেন:

for /f "tokens=2 delims=\" %%x in ('schtasks /query /fo:list ^| findstr ^^abctask') do schtasks /Delete /TN %%x /F
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.