22

How can I find a folder that was accidentally moved into an unknown folder in Outlook? I can find messages in the folder and looking at their properties gives me the name of the folder but not where it is located.

I would like to avoid having to manually look in every folder in the hierarchy.

6 Answers 6

12

Try this:

  1. Find the folder name by searching for the mail item and looking at its properties
  2. Select the Go menu, choose Folders at the bottom
  3. In the window that appears, find the folder in the drop-down box
  4. Press Ok and Outlook should open to that folder

The above did not work for Outlook 2007. The following should:

  1. Search "All Mail Items" for an email that you know is in the folder.
  2. Right click and select "Find All" then "Related Messages"
  3. On the box that pops up, one of the search options is "In:" with a Browse button. Press that button and it will show you which folder the mail item is in and where it is in the folder tree.

Again in Outlook 2013 this has changed :

  1. Search "All Mail Items" for an email that you know is in the folder.
  2. Open the message and press Ctrl-Shift-F to open the Advanced Search dialog
  3. On the box that pops up, one of the search options is "In:" with a Browse button. Press that button and it will show you which folder the mail item is in and where it is in the folder tree.
1
  • 1
    This doesn't help - I found one folder, but I can find the emails, but not the folder listed. Why is outlook still so full of problems troubleshooting?
    – user105173
    Nov 12, 2011 at 22:47
9

I have had success with this method:

  1. Search for message (or other document). Use the normal quick search, searching for "all files and folders"
  2. Open the message/document (double-click)
  3. With the message open in i separate Window: Hit Ctrl+Shift+F to open Advanced Search.
  4. Advanced Search will open with the folder of the open message selected.
  5. Click Browse (top right) to see where that folder is.

This was in Outlook 2010.

1
  • 1
    I used this method successfully in Office 365 in 2020.
    – Ubiquitous
    Sep 30, 2020 at 15:26
4

If you're in Office 2007 Outlook, this should work. Go to Tools. Click on Mailbox Cleanup. Then click on View Mailbox Size. You'll get a list of all your folders, and if you work down it, you should find the missing one - maybe somewhere quite unexpected!

2

Microsoft didn't provide the tools so I wrote one. Free with no catch available here:

How to search Outlook for a folder name

1
  • 1
    Having a link is nice, but can you provide the most important steps here, on-site, please?
    – slhck
    Jun 15, 2012 at 8:36
2

here is a powershell script I wrote, it allows to search a foldername or to list the complete folders tree. Usage :

without parameter it will display all folders

PS>.\get-MailboxFolders.ps1 
└@conserver 
    └_Licences, codes etc. 
    └2 Clic 
    └Axter Ltd 
    └Chili 
        └Pérou

if you pass a parameter it will search for folder name containing that term and output the path

PS>.\get-MailboxFolders.ps1 201 
The term *201* was found in : 
\\mailbox@domain.com\2015 
\\mailbox@domain.com\archivage\2010 
\\mailbox@domain.com\archivage\2011

you can search a specific account using the mailbox parameter

PS>.\get-MailboxFolders.ps1 -mailbox "infor" 
Account selected = ENT, Service Informatique 
└Archives 
└Boîte de réception 

here is the script:

<# 
 .Synopsis
  search outlook folders or display  the folders tree 

 .Description
  This script uses the outlook COM object.

 .Parameter folder 
  Part of the folder's name to search for. If this parameter is not set the script will output 
  the complete folders tree
#>

[CmdletBinding()] 
param(
    [Parameter(Position=0, Mandatory=$false,ValueFromPipeline = $true)]
    [System.String]
    $folder=$null,
    [Parameter(Position=1, Mandatory=$false)]
    [System.String]
    $mailbox=$null
    )

$output="" 
$find=@()   

function Get-MailboxFolder($folder,$prefix, $search=$null, $firstrun=$false){  
    if(($search -ne $null) -and ($folder.name -match $search)) {
        $script:find+=$folder.folderpath # if foldername match search term add it to the result
    }

    if($firstrun -eq $true){$script:output=$script:output+"$prefix$($_.name)`n"} # top level directories

    if ($folder.folders.count -gt 0 ){ # If there are subfolders
        if($firstrun -eq $false){
            $script:output=$script:output+"$prefix$($folder.name)`n" 
        }
    $prefix="    "+$prefix # preffix padding
    $folder.folders |sort -property name| %{ get-MailboxFolder $_ $prefix $search} #recursivity
    }
    # No subfolder
    if($folder.folders.count -eq 0 -and $firstrun -eq $false){$script:output=$script:output+"$prefix$($folder.name)`n"}
} 

# Start outlook
$o=New-Object -ComObject outlook.application
$ns=$o.GetNamespace("MAPI")

if($mailbox -ne $null){
    $bal=$ns.Folders |?{$_.name -match $mailbox}
}
else{
    $bal=$ns.Folders.Item(1) # select the default mail account // you can let $bal=$ns.Folders to search through all accounts
}
write-host "Account selected = $($bal.name)"
$prefix="└"
$i=1
$bal.folders|sort -property name |%{
    $percent=$i*100/($bal.folders.count)
    write-progress -activity "Searching, please wait" -currentoperation "$($_.name)" -percentcomplete $percent
    get-MailboxFolder $_ $prefix $folder $true
    $i++
}

if(($folder -ne $null) -and ($folder -ne "")){ # are we searching ?
    if ($find.count -eq 0){write-host "No folder *$folder* could be found"}
    else{write-host "The term *$folder* was found in : ";$find}
}
else{$script:output} # display tree
$o.quit()
0

If you have access to powershell on the exchange server, you can run the following script to dump all folders in the exchange system (courtesy of https://blogs.msdn.microsoft.com/deva/2012/05/10/exchange-powershell-how-to-get-list-of-mailboxes-folders-subfolders-items-in-folder-foldersize-programmatically/):

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.* -erroraction SilentlyContinue
$saveto = $env:USERPROFILE + "\\OutlookFolderList.csv"
Get-Mailbox | Select-Object alias | foreach-object {Get-MailboxFolderStatistics -Identity $_.alias | select-object Identity, ItemsInFolder, FolderSize} | Export-csv $saveto -NoTypeInformation

If you want information for a particular user, you can use something like this:

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.* -erroraction SilentlyContinue
$who = $args[0]
$saveto = $env:USERPROFILE + "\\OutlookFolderListFor$who.csv"
Get-MailboxFolderStatistics -Identity $who | select-object Identity, ItemsInFolder, FolderSize | Export-csv $saveto -NoTypeInformation

These methods create CSV files that can be easily opened in a spreadsheet and searched.

Not the answer you're looking for? Browse other questions tagged or ask your own question.