我想运行一个批处理文件,删除终端服务器上所有用户配置文件的firefox缓存文件夹。就像ICSweep删除所有用户的临时互联网文件一样。
Location: C:\users\ *username*\appdata\local\mozilla\firefox\profiles\ *random*.default\cache
问题是不同的用户名文件夹,firefox \ profiles下的子文件夹名称包含“随机字符 .default”,并且对所有用户都不同。
这可以用批处理文件完成吗?或者我需要像vb脚本这样的东西吗?
如果可以这样做,我也会针对Google Chrome缓存执行此操作
C:\users\ *username*\appdata\local\google\chrome\user data\default\cache
答案 0 :(得分:2)
是的,这可以做到。它只需要一些简单的批量递归。此脚本完全可以使用。在准备好删除缓存文件夹时,只需用echo
命令替换del
命令。
:: Hide Commands
@echo off
setlocal EnableExtensions
:: Parse the Local AppData sub path
call :Expand xAppData "%%LocalAppData:%UserProfile%=%%"
set "xFirefox=\mozilla\firefox\profiles"
set "xChrome=\google\chrome\user data"
:: Start at the User directory
pushd "%UserProfile%\.."
:: Loop through the Users
for /D %%D in (*) do if exist "%%~fD%xAppData%" (
rem Check for Firefox
if exist "%%~fD%xAppData%%xFirefox%" (
pushd "%%~fD%xAppData%%xFirefox%"
rem Loop through the Profiles
for /D %%P in (*) do (
if exist "%%~fP\cache" echo "%%~fP\cache"
)
popd
)
rem Check for Chrome
if exist "%%~fD%xAppData%%xChrome%" (
pushd "%%~fD%xAppData%%xChrome%"
rem Loop through the Profiles
for /D %%P in (*) do (
if exist "%%~fP\cache" echo "%%~fP\cache"
)
popd
)
)
popd
goto End
::::::::::::::::::::::::::::::
:Expand <Variable> <Value>
if not "%~1"=="" set "%~1=%~2"
goto :eof
:End
endlocal
pause
评论更新
要使用Firefox profiles.ini文件,请使用此替换上面的firefox部分。
rem Check for Firefox INI
if exist "%%~fD%xAppData%%xFirefox%\profiles.ini" (
pushd "%%~fD%xAppData%%xFirefox%\"
rem Loop through the Profiles
for /f "tokens=1,* delims==" %%L in (profiles.ini) do (
if /i "%%~L"=="Path" if exist "%%~fM\cache\" echo "%%~fM\cache"
)
popd
)
答案 1 :(得分:0)
上面脚本的更新版本,仅Firefox:
:: Hide Commands
rem @echo off
setlocal EnableExtensions
:: Parse the Local AppData sub path
call :Expand xAppData "%%LocalAppData:%UserProfile%=%%"
set "xFirefox=\mozilla\firefox\profiles"
set "xChrome=\google\chrome\user data"
:: Start at the User directory
pushd "%UserProfile%\.."
:: Loop through the Users
for /D %%D in (*) do if exist "%%~fD%xAppData%" (
rem Check for Firefox
rem if exist "%%~fD%xAppData%%xFirefox%" (
if exist "%%~fD%xAppData%%xLocal%%xMozilla%%xFirefox%" (
rem pushd "%%~fD%xAppData%%xFirefox%"
pushd "%%~fD%xAppData%%xLocal%%xMozilla%%xFirefox%"
rem Loop through the Profiles
for /D %%P in (*) do (
if exist "%%~fP\cache2" del /F /Q /S "%%~fP\cache2"
)
popd
)
)
popd
goto End
::::::::::::::::::::::::::::::
:Expand <Variable> <Value>
if not "%~1"=="" set "%~1=%~2"
goto :eof
:End
endlocal
pause