如何检查临时Internet文件夹在删除前后是否为空?

时间:2014-11-14 06:47:22

标签: ruby internet-explorer cookies temporary-files

我可以使用以下内容删除Ruby中的IE7的cookie,历史记录,缓存等。

要清除:

  • 临时Internet文件:

    system('RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8') 
    
  • 浏览Cookie:

    system('RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2') 
    
  • 浏览记录:

    system('RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1') 
    
  • 表单数据:

    system('RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16') 
    
  • 用于填写网络登录表单的记忆密码:

    system('RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32') 
    
  • 或删除所有浏览历史记录(以上所有内容):

    system('RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255') 
    

是否可以获取删除前后的文件数量? 另外,如何在删除之前和之后检查临时Internet文件夹是否为空?

1 个答案:

答案 0 :(得分:1)

首先,你需要知道各种文件夹的位置。

Windows 7的示例:

C:\Users\username\AppData\Local\Microsoft\Windows\Temporary Internet Files

Windows 8的示例:

C:\Users\username\AppData\Local\Microsoft\Windows\INetCache

临时文件可能有多个文件夹,有时用户可以更改文件夹的位置,因此您需要阅读Windows文档以了解如何获取所有文件夹的完整列表文件夹及其位置。

另外,IE7很老了。如果您的Windows版本也很旧,您可能想知道Windows在使用32位与64位的目录命名方面存在问题。此问题可能使文件和目录似乎消失。例如:Does Windows 7 hide files from Ruby?

Ruby代码获取目录的文件,没有特殊的" dot"目录:

dirname = "C:\Users\username\AppData\Local\Microsoft\Windows\INetCache"
Dir.entries(dirname) - [".", ".."]

示例方法:

def dir_contents(dirname)
  Dir.entries(dirname) - [".", ".."]
end


def dir_empty?(dirname)
  dir_contents(dirname).empty?
end

答案示例:

before_count = dir_contents(dirname).count
... do whatever deletion you want ...   
after_count = dir_contents(dirname).count