কম্পিউটার

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

আমি অনেক সময় ব্যয় করেছি বন্ধুদের এবং পরিবারকে তাদের কম্পিউটারের সমস্যাগুলির সাথে সাহায্য করার জন্য, এবং আমাকে বলতে হবে যে অন্যান্য সমস্ত সমস্যার উপরে, আমি যে সমস্যাটি বারবার দেখতে পাচ্ছি তা হল টেম্প ফাইল এবং লগ ফাইলগুলি সঙ্কুচিত ডিস্ককে খাচ্ছে স্থান এবং অবশেষে সিস্টেম ডাউন.

অস্থায়ী ইন্টারনেট ফাইল ফোল্ডারটি একটি সাধারণ অপরাধী, তবে এটি এমন একটি যার সহজ সমাধান রয়েছে, কারণ আপনাকে যা করতে হবে তা হল কন্ট্রোল প্যানেলে ইন্টারনেট বিকল্পগুলির ভিতরে মুছে ফেলার জন্য ফাইলগুলি সেট আপ করা৷ যাইহোক, সেই বিরক্তিকর উইন্ডোজ টেম্প ফোল্ডার, বা সেই সমস্ত অ্যাপ্লিকেশন লগ ফাইলগুলি সম্পর্কে কী হবে যা এলোমেলো আবর্জনা দিয়ে তৈরি হতে থাকে যা কখনও মুছে যায় না? প্রথমে, এগুলি খুব একটা সমস্যা সৃষ্টি করে না, কিন্তু সময়ের সাথে সাথে সেই জমে থাকা আবর্জনা পুরোনো ফাইলের বিশাল স্তূপে পরিণত হয় যা কোন কাজে লাগে না।

ভাল লিখিত অ্যাপ্লিকেশনগুলি লগ বা টেম্প ফাইলগুলিকে মুছে ফেলবে যেগুলির আর প্রয়োজন নেই, তবে সেখানে অনেকগুলি প্রোগ্রাম নিজের পরে সঠিকভাবে পরিষ্কার করে না - বছরের পর বছর আপনাকে একটি খুব অগোছালো কম্পিউটারের সাথে ছেড়ে দেবে৷ যাইহোক, আপনি যদি কোনো নির্দিষ্ট লগ ফোল্ডারের কথা জানেন - তা সে উইন্ডোজ টেম্প ফোল্ডার বা অ্যাপ্লিকেশন লগ ফোল্ডার, যেমন অ্যান্টিভাইরাস নোটিফিকেশন লগ ফোল্ডার বা এরকম কিছু, আপনি পুরানো লগ ফাইলগুলি নিয়মিত পরিষ্কার করতে নিম্নলিখিত উইন্ডোজ স্ক্রিপ্ট ব্যবহার করতে পারেন কয়েক দিনের চেয়ে।

উইন্ডোজ স্ক্রিপ্ট দিয়ে টেম্প ফাইলগুলি পরিষ্কার করুন

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

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

একটি ক্লিনআপ উইন্ডোজ স্ক্রিপ্ট লেখা

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

Option Explicit 

On Error Resume Next

Dim oFSO, oFolder, sDirectoryPath

Dim oFileCollection, oFile, sDir

Dim iDaysOld

iDaysOld = 3

এই বিভাগটি ফাইল সিস্টেম ভেরিয়েবল ঘোষণা করে যা আপনি ডিরেক্টরি অ্যাক্সেস করতে ব্যবহার করতে যাচ্ছেন এবং আপনি যে ফাইলগুলি পরিষ্কার করতে চান। "iDaysOld" ভেরিয়েবল সেট আপ করা স্ক্রিপ্টকে বলে যে আপনি যে ফাইলগুলি রাখতে চান তার বয়স৷ এই ক্ষেত্রে, আমি 3 দিনের চেয়ে নতুন যেকোন ফাইল রাখছি।

এরপরে আসে অতি-সাধারণ ক্লিনআপ সেকশন।

' ***** CLEAR OUT OLD FILES IN LOG FOLDER *****

sDirectoryPath = "C:\Users\Owner\AppData\Local\Temp\"

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(sDirectoryPath)

Set oFileCollection = oFolder.Files

For each oFile in oFileCollection

If oFile.DateLastModified < (Date() - iDaysOld) Then

oFile.Delete(True)

End If

Next

উপরের বিভাগটি উইন্ডোজ ফাইল সিস্টেমের সাথে সংযোগ করে এবং তারপরে আপনি "sDirectoryPath" ভেরিয়েবলের সাথে সংজ্ঞায়িত করা ডিরেক্টরির সাথে সংযোগ করে। এই প্রথম লুপটি ডিরেক্টরির প্রতিটি পৃথক ফাইলের মধ্য দিয়ে যায়, পরিবর্তিত তারিখ পরীক্ষা করে এবং আপনার সংজ্ঞায়িত ফাইলের বয়সের সাথে তুলনা করে। যদি এটি 3 দিনের বেশি পুরানো হয়, এটি সেই ফাইলটিতে একটি মুছে ফেলার ক্রিয়া সম্পাদন করে৷

এটি ফাইলগুলিতে দুর্দান্ত কাজ করে, তবে উইন্ডোজ টেম্প ডিরেক্টরির মতো ফোল্ডারে থাকা সমস্ত সাবডিরেক্টরিগুলির কী হবে? স্ক্রিপ্টের এই পরবর্তী বিভাগটি পরবর্তী সমস্ত সাবডিরেক্টরিগুলির মাধ্যমে ফাইল করবে এবং সেখানে থাকা ফাইলগুলিতেও একই ফাইল অপারেশন করবে৷

For Each oSubFolder In oSubFolders

sDirectoryPath = "C:\Users\Owner\AppData\Local\Temp\" & oSubFolder

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder(sDirectoryPath)

Set oFileCollection = oFolder.Files

For each oFile in oFileCollection

If oFile.DateLastModified < (Date() - iDaysOld) Then

oFile.Delete(True)

End If

Next

If oSubFolder.Size = 0 Then oSubFolder.Delete(True)

Set oFSO = Nothing

Set oFolder = Nothing

Set oFileCollection = Nothing

Set oFile = Nothing

Next

পরিশেষে, যেখানে কোনো সাব-ডিরেক্টরি না থাকায় অবজেক্টগুলিকে পরিষ্কার করতে ভুলবেন না।

 Set oFSO = Nothing

Set oFolder = Nothing

Set oFileCollection = Nothing

Set oFile = Nothing

WScript.Quit

এটা ঐটার মতই সহজ. উপরের স্ক্রিপ্টটি যে কোনও ফোল্ডার পরিষ্কার করবে যা আপনি পরিষ্কার করতে চান। আপনি নিয়মিত সময়সূচীতে পরিষ্কার রাখতে চান এমন প্রতিটি ডিরেক্টরির জন্য একটি পৃথক স্ক্রিপ্ট লিখুন, আপনি যে ডিরেক্টরিটি পরিষ্কার রাখতে চান তাতে "sDirectoryPath" সেট করুন এবং তারপর এটিকে "C:\temp\" বা "এর মতো একটি ডিরেক্টরিতে সংরক্ষণ করুন। c:\vbscripts\"। একবার আপনার সেই স্ক্রিপ্টগুলি সেট আপ হয়ে গেলে, আপনি সেই স্ক্রিপ্টগুলি নির্ধারণ করতে প্রস্তুত৷

আপনার ক্লিনআপ স্ক্রিপ্টের সময় নির্ধারণ

আপনার ক্লিনআপ স্ক্রিপ্ট নির্ধারণ করতে, Windows 7 এ, প্রশাসনিক সরঞ্জামগুলিতে যান এবং টাস্ক শিডিউলার খুলুন৷

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

অ্যাকশন মেনু আইটেম থেকে একটি বেসিক টাস্ক তৈরি করুন।

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

তারপরে, আপনি যখনই সেই ডিরেক্টরিটি পরিষ্কার করতে চান তখন চালানোর জন্য পুনরাবৃত্ত সময়সূচী সেট আপ করুন। আমার ক্ষেত্রে, আমি রবিবার দুপুরে আমার ক্লিনআপ স্ক্রিপ্টগুলি চালাই যখন আমি সাধারণত সবসময় লগ ইন করি এবং আমার কম্পিউটারে কাজ করি। স্ক্রিপ্টগুলি শুধু ব্যাকগ্রাউন্ডে চলে৷

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

পৃথক লগ বা অস্থায়ী ডিরেক্টরিগুলি পরিষ্কার করার জন্য আপনি যে প্রতিটি উইন্ডোজ স্ক্রিপ্ট লিখেছেন তার জন্য আপনাকে একটি নির্ধারিত কাজ সেট আপ করতে হবে৷

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

আপনি টাস্ক শিডিউলে তৈরি করার পরে আপনার স্ক্রিপ্ট পরীক্ষা করতে, শুধু "অ্যাকশন" এবং তারপরে "চালান" এ ক্লিক করুন৷

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

আপনি সেই লগ বা টেম্প ফোল্ডারের সমস্ত ফাইল দেখতে পাবেন যেগুলি কয়েক দিনের বেশি পুরানো (অথবা আপনি আপনার স্ক্রিপ্ট সেট আপ করেছেন) স্বয়ংক্রিয়ভাবে মুছে যাবে। আমার ক্ষেত্রে, আমি সাপ্তাহিক ভিত্তিতে আমার উইন্ডোজ টেম্প ফোল্ডার পরিষ্কার করি। এই স্ক্রিপ্টটি চালানোর পরে, আমি ফোল্ডারে প্রায় 45টি ফাইলকে কেটে ফেলা হয়েছে যা লেটেস্ট ফাইলগুলির মধ্যে প্রায় 20 বা তার বেশি - সাবডিরেক্টরির সমস্ত ফাইল সহ।

এই উইন্ডোজ স্ক্রিপ্ট দিয়ে লগ এবং টেম্প ফাইলগুলিকে নিয়ন্ত্রণে রাখুন

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

আপনি কি এই ধরনের স্ক্রিপ্টের জন্য কিছু সৃজনশীল ব্যবহারের কথা ভাবতে পারেন? আপনি কি টেম্প ফোল্ডার এবং লগ ফাইল ম্যানুয়ালি পরিষ্কার করেন - এবং এর মতো একটি স্ক্রিপ্ট আপনাকে কাজ বাঁচাতে পারে? এটি চেষ্টা করে দেখুন এবং নীচের মন্তব্য বিভাগে আপনার চিন্তাভাবনা এবং প্রতিক্রিয়া ভাগ করুন!

ইমেজ ক্রেডিট:শাটারস্টক হয়ে জাঙ্ক ইয়ার্ডে ক্রেন 


  1. উইন্ডোজ 10 এ টেম্প ফাইলগুলি কীভাবে মুছবেন

  2. কীভাবে ডিস্ক ক্লিনআপের মাধ্যমে ডিস্ক স্পেস খালি করবেন।

  3. Windows-এ পাসওয়ার্ড দিয়ে একটি ফোল্ডার বা ফাইল কীভাবে লক করবেন।

  4. উইন্ডোজ 11 পিসিতে টেম্প ফাইলগুলি কীভাবে মুছবেন?