• Thứ Năm, 25/12/2003 09:58 (GMT+7)

    Xóa tập tin rác bằng VBScript

    Windows dùng thư mục Recent để chứa liên kết tới các tập tin mới dùng trong thời gian gần nhất - các tập tin hiện thời trong thư mục Start/Documents. Các tập tin tạm thời do các ứng dụng tạo ra trong khi chạy được lưu trong thư mục Temp cho đến khi kết thúc chương trình. Nếu chương trình thiết kế tốt, nó sẽ xóa các tập tin tạm này trước khi kết thúc. Tuy nhiên, do nguyên nhân nào đó, các tập tin này có thể không bị xóa (do chương trình bị ngắt quãng giữa chừng...). Như vậy, sau một thời gian, dung lượng trống trên ổ cứng của bạn sẽ bị giảm đáng kể.

    Có nhiều cách để xóa các tập tin không cần thiết này. Thủ công nhất là vào các thư mục đó và thực hiện thao tác xóa tập tin. Các thư mục mặc định là Windows/Recent và Windows/Temp. Microsoft cũng cung cấp một số trình dọn dẹp tập tin tạm, ví dụ như Disk Cleanup. Bạn vào Start.Programs. Accessories.System Tools và chọn Disk Cleanup. Chương trình có một số chọn lựa như xóa các tập tin Internet, dọn Recycle Bin, xóa tập tin trong thư mục Temp... Bạn có thể tự làm một chương trình dọn rác như vậy nhờ vào khả năng của VBScript. Ở đây, tôi chỉ trình bày cách xóa các tập tin trong thư mục Temp và Recent.

    Điều trước tiên bạn phải làm là kiểm tra xem Windows có hỗ trợ VBScript hay không. Đối với WinMe, bạn không phải bận tâm về điều này vì ngôn ngữ VBScript được cài mặc định trong quá trình cài Windows. Còn đối với Win98 (OEM hoặc SE), bạn phải vào Control Panel, chạy Add.Remove Programs. Sau đó chọn thẻ Windows Setup, nhấn đúp vào Accessories để hiện các mục chọn. Nếu thấy mục Windows Scripting Host đã được chọn nghĩa là máy bạn đã hỗ trợ VBScript. Nếu không, bạn phải chọn mục này và nhấn OK, khởi động lại máy. Sau đây là source code thực hiện việc xóa tập tin.

    Const TempWin  =  “C:\Windows\Temp\”

    Const Recent  = “C:\Windows\Recent\*.*”

    DelTempDir

    Sub DelTempDir()

    Dim fso, Ask

     Set fso = CreateObject(“Scripting.FileSystemObject”)

     Ask = MsgBox(“Do you want to delete all files in WinTemp directory?” ,vbYesNo,”Delete Temp File”)

     If Ask = vbYes Then

      fso.DeleteFile TempWin & “*.*”,True

      fso.DeleteFolder TempWin & “*”,True

    End if

     Ask = MsgBox(“Do you want to delete all files in RecentWin directory?”,vbYesNo,”Delete Recent File”)

    If Ask = vbYes Then

      fso.DeleteFile Recent,True

    End if

      MsgBox “DelTemp has finished.”, ,”Finish function”

    End Sub

    Bạn lưu tập tin này với phần đuôi mở rộng là .vbs, ví dụ : ‘DelTemp.vbs’. Muốn thực hiện lệnh bạn chỉ cần nhấn đúp vào tập tin này. Khi chạy, chương trình sẽ xác nhận lại xem bạn có thực sự muốn xóa các tập tin rác hay không. Nếu không muốn phải trả lời nhiều lần, bạn có thể lược bớt một số câu lệnh, chương trình sẽ ngắn hơn:

    Const TempWin = “C:\Windows\Temp\”

    Const Recent  = “C:\Windows\Recent\*.*”

    DelTempDir

    Sub DelTempDir()

    Dim fso

      Set fso = CreateObject(“Scripting.FileSystemObject”)

      fso.DeleteFile TempWin & “*.*”,True

      fso.DeleteFolder TempWin & “*”,True

      fso.DeleteFile Recent,True

      MsgBox “DelTemp has finished.”, ,”Finish function”

    End Sub

    Bạn có thể tạo shortcut trên desktop hoặc taskbar để tiện thi hành. Chương trình có kích thước nhỏ (chỉ là tập tin text), thực hiện nhanh, có thể tùy biến theo ý muốn. Đó chính là ưu thế của VBScript .

    Chúc các bạn thành công với chương trình nhỏ do chính bạn tạo ra này.

    Vũ Anh Hiền

    ĐT: (4) 851 81841

    ID: A0201_72