Isso pode ser feito usando um script do PowerShell da seguinte forma:
$shell = New-Object -ComObject Shell.Application
$recycleBin = $shell.Namespace(0xA) #Recycle Bin
$recycleBin.Items() | %{Move-Item $_.Path ("C:\Temp\{0}" -f $_.Name)}
- A estrutura de diretórios das pastas excluídas é mantida ao mover para a pasta de destino.
- A pasta de destino (
C:\Temp
neste caso) deve existir antes que o script seja executado ou os arquivos não sejam movidos. - Um arquivo não será movido se um arquivo com o mesmo nome já existir no local de destino. Isso poderia ser tratado pegando o erro e acrescentando o Nome com algo para torná-lo único.
- A ação do script é específica da Lixeira do usuário atual.
Script é uma versão modificada do este do Repositório do Microsoft Script Center.