I've been seeing quite a few requests about knowing which files are on which drives in case of needing a recovery for unduplicated files. I know the dpcmd.exe has some functionality for listing all files and their locations, but I wanted something that I could "tweak" a little better to my needs, so I created a PowerShell script to get me exactly what I need. I decided on PowerShell, as it allows me to do just about ANYTHING I can imagine, given enough logic. Feel free to use this, or let me know if it would be more helpful "tweaked" a different way...
Prerequisites:
You gotta know PowerShell (or be interested in learning a little bit of it, anyway)
All of your DrivePool drives need to be mounted as a path (I chose to mount all drives as C:\DrivePool\{disk name})
Your computer must be able to run PowerShell scripts (I set my execution policy to 'RemoteSigned')
I have this PowerShell script set to run each day at 3am, and it generates a .csv file that I can use to sort/filter all of the results. Need to know what files were on drive A? Done. Need to know which drives are holding all of the files in your Movies folder? Done. Your imagination is the limit.
Here is a screenshot of the .CSV file it generates, showing the location of all of the files in a particular directory (as an example):
Here is the code I used (it's also attached in the .zip file):
# This saves the full listing of files in DrivePool
$files =Get-ChildItem-Path C:\DrivePool -Recurse-Force|where{!$_.PsIsContainer}# This creates an empty table to store details of the files
$filelist =@()# This goes through each file, and populates the table with the drive name, file name and directory nameforeach($file in $files){
$filelist +=New-Object psobject -Property@{Drive=$(($file.DirectoryName).Substring(13,5));FileName=$($file.Name);DirectoryName=$(($file.DirectoryName).Substring(64))}}# This saves the table to a .csv file so it can be opened later on, sorted, filtered, etc.
$filelist |Export-CSV F:\DPFileList.csv -NoTypeInformation
Let me know if there is interest in this, if you have any questions on how to get this going on your system, or if you'd like any clarification of the above.
Hope it helps!
-Quinn
gj80 has written a further improvement to this script:
Question
Quinn
I've been seeing quite a few requests about knowing which files are on which drives in case of needing a recovery for unduplicated files. I know the dpcmd.exe has some functionality for listing all files and their locations, but I wanted something that I could "tweak" a little better to my needs, so I created a PowerShell script to get me exactly what I need. I decided on PowerShell, as it allows me to do just about ANYTHING I can imagine, given enough logic. Feel free to use this, or let me know if it would be more helpful "tweaked" a different way...
Prerequisites:
http://wiki.covecube.com/StableBit_DrivePool_Q4822624
I have this PowerShell script set to run each day at 3am, and it generates a .csv file that I can use to sort/filter all of the results. Need to know what files were on drive A? Done. Need to know which drives are holding all of the files in your Movies folder? Done. Your imagination is the limit.
Here is a screenshot of the .CSV file it generates, showing the location of all of the files in a particular directory (as an example):
Here is the code I used (it's also attached in the .zip file):
Let me know if there is interest in this, if you have any questions on how to get this going on your system, or if you'd like any clarification of the above.
Hope it helps!
-Quinn
gj80 has written a further improvement to this script:
DPFileList.zip
And B00ze has further improved the script (Win7 fixes):
DrivePool-Generate-CSV-Log-V1.60.zip
Link to comment
Share on other sites
50 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.