List and delete files using Windows PowerShell

2015/10/19 09:51
To list files of specific type(s) on the disk or directory including all sub-directories
get-childitem c:\ -include *.tmp, *.temp, *.bak -recurse 
get-childitem D:\Projects\abc*\ -include *.bak -recurse 
The commands above will list on screen all files with extentions TMP, TEMP or BAK located on disk C:\ and all subdirectories or located on disk D:\ in directory PROJECTS and all subdirectories with name starting with ABC and their subdirectories.

To delete files of specific type(s) from the disk or directoty including all sub-directories add " | foreach ($_) {remove-item $_.fullname} " to the end of the previous command
get-childitem c:\ -include *.tmp, *.temp, *.bak -recurse | foreach ($_) {remove-item $_.fullname}
get-childitem D:\Projects\abc*\ -include *.bak -recurse | foreach ($_) {remove-item $_.fullname}
to list what would be deleted if the command above is executed, but without deleting the files add "-whatif" parameter
get-childitem D:\Projects\abc*\ -include *.bak -recurse | foreach ($_) {remove-item $_.fullname -whatif}
To write the file list to file on the disk instead of displaying on the screen add "Out-File file_name -width 160".
get-childitem D:\Projects\abc*\ -include *.bak -recurse | Out-File C:\Temp\bak_files_list.txt -width 160
The parameter "width 160" sets the width of the line in the text file to 160 characters.