질문과 답변
윈 도 우 엣지 캐쉬나 쿠키 삭제하는 배치파일
2022.12.23 09:59
엣지 캐쉬나 쿠키 삭제하는 배치파일 명령어가 어떻게 될까요?
사용자 이름은 여러가지여서 %userprofile% 경로는 이렇게 될것 같은데
아시는 분 부탁드립니다.
댓글 [2]
-
zerojiddu 2022.12.23 14:36 -
토르망치 2022.12.27 10:03
긴 답변 감사합니다 한번 해봐야겠습니다. 정성스럽게 답변해주셔서 감사합니다 ^^
여기에 엣지 삭제할 파일,폴더가 다 있어요.
"%LocalAppData%\Microsoft\Edge\User Data\Default"
밑의 경우는 파워쉘로 해봤어요.
1번 스크립트는,
저 엣지 폴더에서 기록 저장된 모든 파일.폴더를 찾아서 삭제함.
엣지 시작하면 초기설정을 다시 해줘야 함. 하지만, 엣지 에러는 전혀 없어요.
전체 스크립트 복사후 엔터치고, 이것만 쳐주면 됩니다.
Remove-CacheFiles "$env:LocalAppData\Microsoft\Edge\User Data\Default"
2번 스크립트는,
엣지 초기설정 다시할 필요없음. 엣지 에러도 역시 없음.
그 설정창에 아무런 체크가 안됐을때를 기준으로 스크립트를 짰음.
단점 - 반복적으로 스크립트를 실행하면
님 설정창 체크상태에 따라 키보드 자판 명령을 조금 변경해야됨.
1번.
Function Remove-CacheFiles {
param([Parameter(Mandatory=$true)][string]$path)
if((Test-Path $path))
{
if([System.IO.Directory]::Exists($path))
{
try
{
if($path[-1] -eq '\')
{
[int]$pathSubString = $path.ToCharArray().Count - 1
$sanitizedPath = $path.SubString(0, $pathSubString)
Remove-Item -Path "$sanitizedPath\*" -Recurse -Force -ErrorAction SilentlyContinue -Verbose
}
else
{
Remove-Item -Path "$path\*" -Recurse -Force -ErrorAction SilentlyContinue -Verbose
}
} catch { }
}
if([System.IO.File]::Exists($path))
{ Remove-item -path "$path" -Recurse -Force -EA 0 -Ver }
else
{
try
{
Remove-Item -Path $path -Force -ErrorAction SilentlyContinue -Verbose
} catch { }
}
}
}
Function Clear-EdgeCache {
param([string]$LAD=$env:LocalAppData)
if((Test-Path "$LAD\Microsoft\Edge\User Data\Default"))
{
$EdgeAppData = "$LAD\Microsoft\Edge\User Data\Default"
$possibleCachePaths = @('Cache','Cache2\entries','IndexedDB','Service Worker','Local Storage','Databases','Cookies','History','Top Sites','Visited Links','Web Data','Media History','Cookies-Journal')
ForEach($cachePath in $possibleCachePaths)
{
Remove-CacheFiles "$EdgeAppData$cachePath"
}
}
}
2번.
Start-Process msedge
Start-Sleep 1
$EdgeTitle = (get-process msedge).MainWindowTitle
Write-Output "edge://settings/clearBrowserData" | Set-ClipBoard
$CallObj = New-Object -comObject 'WScript.Shell'
$CallObj.AppActivate("$EdgeTitle")
Sleep 1
$CallObj.SendKeys("^{t}")
Sleep 1
$CallObj.SendKeys("^{v}")
$CallObj.SendKeys("{Enter}")
Sleep 3
$CallObj.SendKeys("{ENTER}{DOWN}{DOWN}")
$CallObj.SendKeys("{DOWN}{DOWN}{ENTER}")
Sleep 3
$CallObj.SendKeys(" {TAB}{""} {TAB}{""}")
Sleep 1
$CallObj.SendKeys(" {TAB}{""} {TAB}{""}")
Sleep 1
$CallObj.SendKeys(" {TAB}{""} {TAB}{""}")
Sleep 1
$CallObj.SendKeys(" {TAB}{""} {TAB}{""}")
Sleep 1
$CallObj.SendKeys(" {TAB}{""} {TAB}{TAB}{TAB}")
Sleep 2
$CallObj.SendKeys("{ENTER}")
Sleep 2
$CallObj.SendKeys("%{F4}")
Sleep 1
[System.Runtime.InteropServices.Marshal]::ReleaseComObject([System.__ComObject]$CallObj)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()