我正在尝试在员工登录时使用批处理文件删除IE,FireFox,Chrome和Opera的历史记录。以下是我所拥有的并且它有效但它也清除了Chrome的书签和首选项,我认为Firefox。如何在不清除书签和首选项的情况下清除历史记录。任何帮助都会很棒,谢谢。
@echo off
rem IE
taskkill /F /IM iexplore.exe
start "" "C:\Windows\System32\rundll32.exe" InetCpl.cpl,ClearMyTracksByProcess 255
:: Parse the Local AppData sub path
call :Expand xAppData "%%LocalAppData:%UserProfile%=%%"
set "xFirefox=\mozilla\firefox\profiles"
set "xChrome=\google\chrome\user data"
set "xOpera1=\Local\Opera\Opera"
set "xOpera2=\Roaming\Opera\Opera"
:: Start at the User directory
pushd "%UserProfile%\.."
taskkill /F /IM firefox.exe
taskkill /F /IM chrome.exe
taskkill /F /IM opera.exe
:: Loop through the Users
for /D %%D in (*) do if exist "%%~fD%xAppData%" (
rem Check for Firefox
if exist "%%~fD%xAppData%%xFirefox%" (
rd /s /q "%%~fD%xAppData%%xFirefox%"
)
rem Check for Chrome
if exist "%%~fD%xAppData%%xChrome%" (
rd /s /q "%%~fD%xAppData%%xChrome%"
)
rem Check for Opera
if exist "%%~fD%xAppData%%xOpera1%" (
rd /s /q "%%~fD%xAppData%%xOpera1%"
)
if exist "%%~fD%xAppData%%xOpera2%" (
rd /s /q "%%~fD%xAppData%%xOpera2%"
)
)
popd
goto End
::::::::::::::::::::::::::::::
:Expand <Variable> <Value>
if not "%~1"=="" set "%~1=%~2"
goto :eof
:End
endlocal
pause
答案 0 :(得分:0)
难道你不能用一个仍然有书签的空白文件夹替换浏览器数据文件夹吗?
...一样
rem Check for Firefox
if exist "%%~fD%xAppData%%xFirefox%" (
rd /s /q "%%~fD%xAppData%%xFirefox%"
robocopy /e "C:\somewhere\BlankFirefox" "%%~fD%xAppData%%xFirefox%"
)
rem Check for Chrome
if exist "%%~fD%xAppData%%xChrome%" (
rd /s /q "%%~fD%xAppData%%xChrome%"
robocopy /e "C:\somewhere\BlankChrome" "%%~fD%xAppData%%xChrome%"
)
rem Check for Opera
if exist "%%~fD%xAppData%%xOpera1%" (
rd /s /q "%%~fD%xAppData%%xOpera1%"
robocopy /e "C:\somewhere\BlankOpera1" "%%~fD%xAppData%%xOpera1%"
)
if exist "%%~fD%xAppData%%xOpera2%" (
rd /s /q "%%~fD%xAppData%%xOpera2%"
robocopy /e "C:\somewhere\BlankOpera2" "%%~fD%xAppData%%xOpera2%"
)
这样它只会将它恢复到他们第一次登录时的状态?