আমি কোনও এক্সপ্লোরার অ্যাড-অন সম্পর্কে জানি না, তবে উইন্ডোজের বেশিরভাগ জিনিসের মতো, পাওয়ারশেলের মাধ্যমে এটি করা যেতে পারে:
ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {
$Path = $Drive.Name + ':\$Recycle.Bin'
Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Remove-Item -Recurse
}
এই স্ক্রিপ্টটি কোনও .ps1এক্সটেনশন সহ একটি পাঠ্য ফাইল হিসাবে সংরক্ষণ করুন । এরপরে আপনি নিয়মিত বিরতিতে এটি চালনার জন্য টাস্ক শিডিয়ুলার ব্যবহার করতে পারেন।
প্রথমত, যদিও আপনাকে পাওয়ারশেল স্ক্রিপ্টগুলির সম্পাদনার অনুমতি দেওয়া দরকার, কারণ ডিফল্টরূপে আপনি কেবল পাওয়ারশেল প্রম্পটে টাইপ করা কমান্ডগুলি সম্পাদন করতে পারেন। এটি করার জন্য, পাওয়ারশেলটি খুলুন এবং নিম্নলিখিত কমান্ডটি টাইপ করুন:
Set-ExecutionPolicy RemoteSigned
যখন জিজ্ঞাসা করা হবে তখন "y" বা "হ্যাঁ" টাইপ করুন। দেখুন Get-Help Set-ExecutionPolicyআরও তথ্যের জন্য।
এখন টাস্ক শিডিয়ুলারটি খুলুন এবং নিম্নলিখিত পরামিতিগুলির সাথে একটি নতুন টাস্ক তৈরি করুন:
- "জেনারেল" ট্যাবের অধীনে একটি নাম লিখুন এবং "সর্বোচ্চ অধিকার সহ রান করুন" বিকল্পটি পরীক্ষা করুন
- "ট্রিগারস" ট্যাবের অধীনে একটি নতুন ট্রিগার যুক্ত করুন এবং প্রতিদিন চালানোর জন্য টাস্কটি সেট করুন
- "ক্রিয়াগুলি" ট্যাবের অধীনে একটি নতুন ক্রিয়া যুক্ত করুন:
- "একটি প্রোগ্রাম শুরু করুন" হিসাবে টাইপটি ছেড়ে দিন
- "প্রোগ্রাম / স্ক্রিপ্ট" ক্ষেত্রটি এতে সেট করুন
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
- "যুক্তি যুক্ত করুন" ক্ষেত্রটি এতে সেট করুন
-NonInteractive -File "C:\path\to\script.ps1"
- "শর্তাবলী" ট্যাব এর অধীনে, "কম্পিউটারটি এসি বিদ্যুতে থাকলে কেবলমাত্র টাস্কটি শুরু করুন" অনিচ্ছুক করুন
লিপিটির লাইন বাই লাইন ব্যাখ্যা:
ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {
এটি কম্পিউটারে সমস্ত ড্রাইভের একটি তালিকা পায় এবং সেগুলির মাধ্যমে একে একে লুপ হয়। -PSProvider FileSystemপরামিতি, শুধুমাত্র রিটার্ন ডিস্ক ড্রাইভ করা প্রয়োজন কারণ PowerShell এছাড়াও রেজিস্ট্রি আমবাত মত বিভিন্ন অন্যান্য কাজে pseudodrives রয়েছে।
আরও তথ্যের জন্য, দেখুন Get-Help Get-PSDriveএবং পাওয়ারশেলের লুপ প্রসেসিংয়ের এই টিউটোরিয়ালটি ।
$Path = $Drive.Name + ':\$Recycle.Bin'
এটি বর্তমান ড্রাইভে রিসাইকেল বিন ফোল্ডারের পথ তৈরি করে। পাওয়ারশেলকে $Recycleভেরিয়েবল হিসাবে ব্যাখ্যা থেকে বিরত রাখতে দ্বিতীয় অংশের চারপাশে একক উদ্ধৃতি ব্যবহারের বিষয়টি লক্ষ্য করুন ।
Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
এটি প্রদত্ত পথের অধীনে সমস্ত ফাইল এবং সাবফোল্ডারগুলি ফেরত দেয় (আমরা পূর্ববর্তী কমান্ড দিয়ে তৈরি করেছি)। -Forceপরামিতি লুকানো এবং সিস্টেম ফোল্ডার ঢোকা প্রয়োজন হয়, এবং -Recurseপরামিতি কমান্ড রিকার্সিভ করে তোলে, অর্থাত। সমস্ত সাব-ডিরেক্টরিতেও লুপ। -ErrorActionবেশিরভাগ পাওয়ারশেল কমান্ডের জন্য একটি মানক প্যারামিটার এবং মানটি SilentlyContinueআদেশটি ত্রুটি উপেক্ষা করে। এর উদ্দেশ্য হ'ল ড্রাইভগুলির ত্রুটিগুলি রোধ করা যা তত্ক্ষণাত ফাইল মোছার জন্য কনফিগার করা হয়েছে। |শেষ পাইপ পরবর্তী কমান্ড ফলাফলের প্রতীক; আমি আরও ভাল পাঠযোগ্যতার জন্য এটি কয়েকটি লাইনে বিভক্ত করেছি।
আরও তথ্যের জন্য, দেখুন Get-Help Get-ChildItem।
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
এটি কেবল পূর্ববর্তী কমান্ড থেকে ফলাফলগুলি ফিল্টার করে এবং কেবল 30 দিনের চেয়ে পুরানো ফলাফলগুলি প্রদান করে। $_বর্তমানে প্রক্রিয়াধীন অবজেক্টটিকে বোঝায় LastWriteTimeএবং এই ক্ষেত্রে সম্পত্তিটি ফাইলটি মোছার তারিখ এবং সময়কে বোঝায়। Get-Dateবর্তমান তারিখ ফেরত দেয়।
আরও তথ্যের জন্য, দেখুন Get-Help Where-Objectএবং Get-Help Get-Date।
Remove-Item -Recurse
এটি কেবল পূর্ববর্তী কমান্ড দ্বারা প্রেরিত আইটেমগুলি মুছে দেয়। -Recurseপরামিতি স্বয়ংক্রিয়ভাবে খালি নয় এমন সাবফোল্ডার বিষয়বস্তু মুছে ফেলে; এটি ছাড়া, আপনাকে এই জাতীয় ফোল্ডারগুলির জন্য অনুরোধ জানানো হবে।
আরও তথ্যের জন্য, দেখুন Get-Help Remove-Item।