Skip to main content

Find and Restore Items in RecycleBin

Find Items

Get-ChildItem -Force -File -Recurse 'C:\$RECYCLE.BIN'

Restore Items

$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | ForEach-Object { $_.InvokeVerb("Restore") }

Restore all to original path

$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | Where-Object {$_.Name -eq 'my_document.txt'} | ForEach-Object { $_.InvokeVerb("Restore") }

Restore my_document.txt to its original location

Get-ChildItem -Force -File -Recurse 'C:\$RECYCLE.BIN' -Filter '*.docx' | ForEach-Object { Move-Item $_.FullName "$env:USERPROFILE\Desktop" }

Move all items ending inĀ .docx from RecycleBin to user Desktop folder