Computer >> Máy Tính >  >> Xử lý sự cố >> bảo trì máy tính

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Tôi đã dành rất nhiều thời gian để giúp đỡ bạn bè và gia đình về các vấn đề máy tính của họ, và tôi phải nói rằng trên tất cả các vấn đề khác, một vấn đề mà tôi thấy xuất hiện nhiều lần là các tệp tạm thời và tệp nhật ký ăn hết đĩa bị thu hẹp. không gian và cuối cùng làm hỏng hệ thống.

Thư mục tệp Internet tạm thời là một thủ phạm phổ biến, nhưng đó là một trong những có một giải pháp dễ dàng, vì tất cả những gì bạn phải làm là thiết lập các tệp để bị xóa bên trong Tùy chọn Internet trong bảng điều khiển. Tuy nhiên, điều gì về thư mục tạm thời của Windows khó chịu đó hoặc tất cả các tệp nhật ký ứng dụng tiếp tục tích tụ với rác ngẫu nhiên mà không bao giờ bị xóa? Lúc đầu, những thứ đó không gây ra nhiều vấn đề, nhưng theo thời gian, rác tích tụ đó sẽ biến thành một đống lớn các tệp cũ không phục vụ mục đích hữu ích.

Các ứng dụng được viết tốt sẽ xóa các tệp nhật ký hoặc tệp tạm thời không còn cần thiết nữa, nhưng quá nhiều chương trình ngoài đó không tự dọn dẹp đúng cách - khiến bạn, sau nhiều năm, với một chiếc máy tính rất lộn xộn. Tuy nhiên, nếu bạn biết bất kỳ thư mục nhật ký cụ thể nào - cho dù đó là thư mục tạm thời của Windows hay các thư mục nhật ký ứng dụng, chẳng hạn như thư mục nhật ký thông báo chống vi-rút hoặc thứ gì đó tương tự, bạn có thể sử dụng tập lệnh Windows sau để thường xuyên dọn dẹp các tệp nhật ký cũ hơn. hơn một vài ngày.

Dọn dẹp tệp Temp bằng Windows Script

Nếu bạn chưa quen với Windows Scripting, hãy xem nhanh hướng dẫn về WSH mà tôi đã viết trước đây. Có rất nhiều điều thú vị bạn có thể làm với Windows Script, chẳng hạn như thay đổi cài đặt mạng hoặc tự động lên lịch cho phần mềm chống vi-rút hoặc phần mềm quét phần mềm độc hại của bạn.

Rõ ràng, nếu bạn muốn lập lịch trình dọn dẹp để kiểm soát các tệp nhật ký ứng dụng hoặc các thư mục tệp tạm thời, Windows Script chắc chắn là giải pháp.

Viết Tập lệnh Windows Dọn dẹp

Tập lệnh Windows này sẽ tập trung vào một thư mục cụ thể và đi qua toàn bộ thư mục đó để tìm kiếm các tệp có ngày sửa đổi cũ hơn một vài ngày. Sau đó, nó sẽ xóa các tệp đó. Sau đó, script sẽ đi qua bất kỳ và tất cả các thư mục con và thực hiện kiểm tra và dọn dẹp giống nhau. Nghe có vẻ phức tạp? Nó không thể. Phần đầu tiên của tập lệnh trông giống như sau:

Option Explicit 

On Error Resume Next

Dim oFSO, oFolder, sDirectoryPath

Dim oFileCollection, oFile, sDir

Dim iDaysOld

iDaysOld = 3

Phần này khai báo các biến hệ thống tệp mà bạn sẽ sử dụng để truy cập vào thư mục và các tệp mà bạn muốn xóa. Việc thiết lập biến "iDaysOld" cho script biết tuổi của các tệp mà bạn muốn giữ lại. Trong trường hợp này, tôi đang giữ mọi tệp mới hơn 3 ngày.

Tiếp theo là phần dọn dẹp cực kỳ đơn giản.

' ***** 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

Phần ở trên kết nối với Hệ thống tệp của Windows, sau đó kết nối với thư mục mà bạn đã xác định bằng biến "sDirectoryPath". Vòng lặp đầu tiên này đi qua từng tệp riêng lẻ trong thư mục, kiểm tra ngày sửa đổi và so sánh với tuổi của tệp mà bạn đã xác định. Nếu cũ hơn 3 ngày, nó sẽ thực hiện thao tác xóa trên tệp đó.

Điều này hoạt động tốt trên các tệp, nhưng còn tất cả các thư mục con trong các thư mục như thư mục tạm thời của Windows thì sao? Phần tiếp theo này của tập lệnh sẽ tiếp theo tệp qua tất cả các thư mục con và thực hiện các thao tác với tệp tương tự trên các tệp trong đó.

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

Cuối cùng, đừng quên xóa các đối tượng trong trường hợp không có bất kỳ thư mục con nào để chuyển qua.

 Set oFSO = Nothing

Set oFolder = Nothing

Set oFileCollection = Nothing

Set oFile = Nothing

WScript.Quit

Nó đơn giản như vậy. Tập lệnh trên sẽ dọn dẹp bất kỳ thư mục nào mà bạn có thể muốn dọn dẹp. Viết một tập lệnh riêng cho từng thư mục mà bạn muốn dọn dẹp theo lịch trình thường xuyên, đặt "sDirectoryPath" thành thư mục bạn muốn giữ sạch, sau đó lưu trữ nó trong một thư mục như "C:\ temp \" hoặc " c:\ vbscripts \ ". Sau khi thiết lập xong các tập lệnh đó, bạn đã sẵn sàng lên lịch cho các tập lệnh đó.

Lập lịch cho các tập lệnh dọn dẹp của bạn

Để lên lịch tập lệnh dọn dẹp của bạn, trong Windows 7, hãy chuyển đến Công cụ quản trị và mở Trình lập lịch tác vụ.

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Tạo một Nhiệm vụ Cơ bản từ mục menu Hành động.

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Sau đó, thiết lập lịch trình định kỳ để chạy bất cứ khi nào bạn muốn dọn dẹp thư mục đó. Trong trường hợp của tôi, tôi chạy các tập lệnh dọn dẹp của mình vào buổi trưa Chủ nhật khi tôi thường đăng nhập và làm việc trên máy tính của mình. Các tập lệnh chỉ chạy trong nền.

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Bạn sẽ cần thiết lập một tác vụ đã lên lịch cho từng tập lệnh windows mà bạn đã viết để dọn dẹp nhật ký riêng lẻ hoặc các thư mục tạm thời.

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Để kiểm tra tập lệnh của bạn sau khi bạn đã tạo trong Lịch biểu tác vụ, chỉ cần nhấp vào "Hành động" và sau đó "Chạy".

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Bạn sẽ thấy tất cả các tệp trong nhật ký hoặc thư mục tạm thời cũ hơn một vài ngày (hoặc tuy nhiên bạn thiết lập tập lệnh của mình) sẽ bị xóa tự động. Trong trường hợp của tôi, tôi dọn dẹp thư mục Windows Temp của mình hàng tuần. Sau khi chạy tập lệnh này, tôi thấy khoảng 45 tệp trong thư mục bị cắt giảm xuống chỉ còn khoảng 20 tệp mới nhất hoặc lâu hơn - bao gồm tất cả các tệp trong thư mục con.

Giữ các tệp nhật ký &tệp tạm thời được kiểm soát bằng tập lệnh Windows này

Việc bảo trì máy tính có thể là một điều khó khăn thực sự - và công việc đó có thể còn khó khăn hơn khi bạn có hệ thống và tất cả các loại ứng dụng liên tục ghi vào tệp nhật ký hoặc tạo tệp tạm thời rác trong thư mục tạm thời của Windows. Tập lệnh này đặc biệt hữu ích cho các kỹ thuật viên CNTT có thể thường xuyên chạy các công việc hàng loạt hoặc tập lệnh trên một máy chủ, tất cả đều tạo tệp nhật ký mới mỗi khi chúng chạy. Bằng cách chạy Windows Script thường xuyên dọn dẹp các tệp nhật ký cũ nhất, bạn có thể viết các tệp WSF như trên để giữ cho các thư mục nhật ký đó đẹp và sạch - bạn có thể giữ lịch sử của các tệp nhật ký mà bạn muốn, nhưng hãy dọn sạch những tệp thực sự cũ. mà bạn không.

Bạn có thể nghĩ ra một số cách sử dụng sáng tạo cho một kịch bản như vậy không? Bạn có làm sạch các thư mục tạm thời và tệp nhật ký theo cách thủ công - và một tập lệnh như thế này có thể giúp bạn hoạt động không? Hãy thử và chia sẻ suy nghĩ và phản hồi của bạn trong phần bình luận bên dưới!

Tín dụng hình ảnh:Crane at Junk Yard qua Shutterstock