#PowerShell, #PowerWiseScripting, #ProjectWise, PWPS_DAB

HowTo:Get File Count after Export

I was recently working on a project where I needed to export a large number of folders and documents from ProjectWise to a local folder. The folders were broken up into about 20 different folder hierarchies, each containing many projects. After exporting all of the files I needed to validate the number of files exported.

Document Count from ProjectWise

First, I would get a document count from ProjectWise. I will pipe the results of the Get-PWDocumentsBySearch cmdlet to the Measure-Object cmdlet. I will then pipe those results to the Select-Object to only get the information needed. The result is the number of documents contained in the provided folder.

# Get all documents in folder hierarchy.
Get-PWDocumentsBySearch -FolderPath 'Project' |
Measure-Object |
Select-Object Count

There were 13,844 documents returned for this folder hierarchy.

File Count from Windows Folder

Next, I would get a file count from the corresponding Windows folder. For this I will use the Get-ChildItem cmdlet and filter the results to only include files. I then pipe the results to the Measure-Object cmdlet. The result is the number of files contained in the Windows folder hierarchy. 

 The Get-ChildItem will return both folders and files. We filtered on files. The following shows the returned mode types.

  • Folder: ‘d—–‘
  • Files: ‘-a—-‘
<# Get file count from Windows folder.
Use the -Recurse switch parameter with the Get-ChildItem cmdlet
to return files from the entire
folder hierarchy.
#>
Get-ChildItem -Path 'C:\ProjectExport' -Recurse |
Where-Object Mode -EQ '-a----' |
Measure-Object |
Select-Object Count

There were 11,492 documents returned for this folder hierarchy.

Observation

Obviously, there is a discrepancy between the two counts. 2,352 to be exact. I will need to determine which documents were not exported and why. That is a topic for another post.


Experiment with it and have fun.

Hopefully, you find this useful. Please let me know if you have any questions or comments.  If you like this post, please click the Like button at the bottom of the page.

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.