在Windows上清除Chrome或Firefox缓存的脚本

10

使用Internet Explorer,您可以创建一个.bat文件来清除缓存。

示例:

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

REM History:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1

REM Cookies:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2

REM Temp Internet Files:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

REM Form Data:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16

REM Passwords:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32

REM OR

REM All:
rundll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351

有没有办法在 Chrome 和/或 Firefox 中完成这个操作?

也就是说,在运行在 Windows 机器上的 .bat 文件或 PowerShell 脚本中,清除 Chrome 或 Firefox 的缓存?

我保证,我已经尽力找过了。

3个回答

11
在Chrome中,您可以通过删除%LocalAppData%\Google\Chrome\User Data\Default\Cache文件夹中的内容来清除缓存。 历史记录,Cookie等是父文件夹中的SQLite数据库文件,因此,如果您希望所有东西都被清除,就像在Internet Explorer示例中一样,您也可以摆脱它们。
$Items = @('Archived History',
            'Cache\*',
            'Cookies',
            'History',
            'Login Data',
            'Top Sites',
            'Visited Links',
            'Web Data')
$Folder = "$($env:LOCALAPPDATA)\Google\Chrome\User Data\Default"
$Items | % { 
    if (Test-Path "$Folder\$_") {
        Remove-Item "$Folder\$_" 
    }
}

谢谢。我会让这个问题暂时搁置一下,然后标记答案。 - granadaCoder
2
运行良好。Chrome必须关闭,供未来读者参考。 - granadaCoder
如何运行这个? - Invader
@入侵者 1. 复制代码。2. 运行 PowerShell(如果您没有其他方法进入它,打开“开始”菜单并键入“PowerShell”)。3. 将代码粘贴到 PowerShell 中。4. 按 Enter 键。 - Eric Eskildsen
这个能放在批处理文件 xxx.bat 中吗? - coder3

4

这是我的清理脚本版本,其中包含 Eric 的改进版。 它将 Chrome、Chromium 和 IE 目录一起包含。
$DaysToDelete 变量决定了缓存数据在机器上存储的天数。

$DaysToDelete = 1

$temporaryIEDir = "C:\users\*\AppData\Local\Microsoft\Windows\Temporary Internet Files\*" ## Remove all files and folders in user's Temporary Internet Files. 
$cachesDir = "C:\Users\*\AppData\Local\Microsoft\Windows\Caches"  ## Remove all IE caches. 
$cookiesDir = "C:\Documents and Settings\*\Cookies\*" ## Delets all cookies. 
$locSetDir = "C:\Documents and Settings\*\Local Settings\Temp\*"  ## Delets all local settings temp 
$locSetIEDir = "C:\Documents and Settings\*\Local Settings\Temporary Internet Files\*"   ## Delets all local settings IE temp 
$locSetHisDir = "C:\Documents and Settings\*\Local Settings\History\*"  ## Delets all local settings history

Get-ChildItem $temporaryIEDir, $cachesDir, $cookiesDir, $locSetDir, $locSetIEDir, $locSetHisDir -Recurse -Force -Verbose -ErrorAction SilentlyContinue | Where-Object { ($_.CreationTime -lt $(Get-Date).AddDays(-$DaysToDelete)) } | remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue

$DaysToDelete = 7

$crLauncherDir = "C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Chromium\User Data\Default"
$chromeDir = "C:\Users\*\AppData\Local\Google\Chrome\User Data\Default"
$chromeSetDir = "C:\Users\*\Local Settings\Application Data\Google\Chrome\User Data\Default"

$Items = @("*Archived History*", "*Cache*", "*Cookies*", "*History*", "*Login Data*", "*Top Sites*", "*Visited Links*", "*Web Data*")

$items | ForEach-Object {
$item = $_ 
Get-ChildItem $crLauncherDir, $chromeDir, $chromeSetDir -Recurse -Force -ErrorAction SilentlyContinue | 
    Where-Object { ($_.CreationTime -lt $(Get-Date).AddDays(-$DaysToDelete)) -and $_ -like $item} | ForEach-Object -Process { Remove-Item $_ -force -Verbose -recurse -ErrorAction SilentlyContinue }
}

4
用Powershell杀掉Chrome并清除用户的所有Chrome个人资料:
taskkill /F /IM "chrome.exe"
Start-Sleep -Seconds 5
$Items = @('Archived History',
            'Cache\*',
            'Cookies',
            'History',
            #'Login Data',
            'Top Sites',
            'Visited Links'
            #'Web Data'
            )
$Folders = Get-ChildItem "$($env:LOCALAPPDATA)\Google\Chrome\User Data" | ?{ $_.PSIsContainer -and $_.Name -eq "Default" -or $_.Name -like "Profile*"}
$Folders | ForEach-Object {
    $tmp = $_
    $Items | ForEach-Object { 
        if((Test-Path -Path "$tmp\$_" )){
            Remove-Item "$tmp\$_" 
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接