Windows – Batch script move files from Windows Recycle Bin

batch filerecycle-binwindows

Is there a way to move files from the Windows Recycle Bin to another folder using a batch script?

Background: I have a folder named C:\Temp on my computer. I clear this folder every week using a batch script. I would like to use this C:\Temp folder as the default place for all of my deleted files. Unfortunately, per this post, I learned that you cannot change the default place where Windows deletes files and folders to. I was wondering, however, if it is possible to use a batch script to move files out of the Recycle Bin and into my C:\Temp folder.

Note: If there is another method, perhaps one that doesn't use a batch file, I am open to that as well.

Best Answer

This could be done using a PowerShell script as follows:

$shell = New-Object -ComObject Shell.Application  
$recycleBin = $shell.Namespace(0xA) #Recycle Bin  
$recycleBin.Items() | %{Move-Item $_.Path ("C:\Temp\{0}" -f $_.Name)}   
  • The directory structure of deleted folders is maintained upon moving to the destination folder.
  • The destination folder (C:\Temp in this case) must exist before the script is run or the files won't be moved.
  • A file won't be moved if a file of the same name already exists in the destination location. This could be handled by catching the error and appending the Name with something to make it unique.
  • The action of the script is specific to the current user's Recycle Bin.

Script is a modified version of this one from the Microsoft Script Center Repository.