Learn about Windows PowerShell
Summary: In Advanced Event 4, you are required to determine which folders consume the most space.
About this event
Date of Event
4/5/2012 12:01 AM
4/12/2012 12:01 AM
You are a freelance journalist, and as a result, you travel to various locations around the world in search of the latest and greatest news. You create a folder for each story you work on. The folder holds the Word document that contains the basic story, numerous picture files, and an Excel spreadsheet that details location, contacts, expenses, and publications that have been offered the story. If you recast a story for additional markets, that story appears in a subfolder. All of the folders are grouped by year.
The folder arrangement works great, and it simplifies data backup, but the problem is that your laptop appears to be running out of disk space. It might be possible to archive story folders from previous years, but the problem with that idea is that you often like to use pictures that were not published in the earlier stories in later articles. Therefore, a simple archive by date might not be the most effective solution.
You decide to write a Windows PowerShell script that reports folder size so that you can make a more informed decision to reclaim the most disk space and yet maintain access to the most useful content from previous years. An appropriate output is shown in the image that follows.
2012 Scripting Games: All Links on One Page
I invite you to follow me on Twitter and Facebook. If you have any questions, send email to me at email@example.com, or post your questions on the Official Scripting Guys Forum. Good luck as you compete in this year’s Scripting Games. We wish you well.
Ed Wilson, Microsoft Scripting Guy
this looks like ... an easy one!
In fact I would probably suggest to buy a bigger hard disk at first sight :-)
But, as the (ugly) details are often burried behind a short sentence ... let's see, what we'll end up with after a couple of overthoughts :-)
after a second thought .. one (more serious) question:
Should we report the size of a folder as the size of all files in the folder excluding the sizes of each subfolder or including the sizes of each subfolder ... or both :-) ?
@K_Schulte, in my perception the answer is given in the picture. Good luck!
@K_Schulte this event is not overly tricky, but I did not think it was really simple either. There are a lot of design points for this scenario.
@K_Schulte You only need to report the size of each sub folder, not the size of the files in each sub folder.
@Werner you are right :-) It is in the picture.
I can't publish my script for this challenge on the site - https://2012sg.poshcode.org/. I click on "Save" and browser redirected to the main page. For log on i use -Google id.
now ... I don't understand what you said:
"You only need to report the size of each sub folder, not the size of the files in each sub folder."
The size of a folder is the size of all files in the folder + ( maybe: the size of each subfolder ) recursively defined.
I would like to know, which definition holds?
A folder size can'Ät be measured in sizes of all fsubfolders, if the file sizes in each folder don't count!
This will always result in NULL!
Root (1MB) +-- Sub1 (2MB) +-- Sub11 (3MB) +-- Sub111 (4MB)
| | +-- Sub112 (5MB)
| +-- Sub12 (6MB)
+-- Sub2 (7MB) +-- Sub21 (8MB) --- Sub212 (9MB)
+-- Sub22 (10MB)
1. Sum up all files in current directory
Root - 1MB
Sub1 - 2MB
Sub2 - 7MB
Sub11 - 3MB
Sub12 - 6MB
Sub21 - 8MB
Sub22 - 10MB
Sub111 - 4MB
Sub112 - 5MB
Sub212 - 9MB
2. Sum up all files in current folder AND all files in all subfolders
Root - 45MB
Sub1 - 20MB
Sub2 - 34MB
Sub11 - 12MB
Sub21 - 17MB
3. Sum up all files in all subfolders without files in current folder
Root - 44MB
Sub1 - 18MB
Sub2 - 27MB
Sub11 - 9MB
Sub12 - 0MB
Sub21 - 9MB
Sub22 - 0MB
Sub111 - 0MB
Sub112 - 0MB
Sub212 - 0MB
Hie Ed, what is it, what you wanted us to do?
This one was reasonably tough for me. I had a lot of fun writing it.
But I'm having the same problem as Sergey a couple posts up.
@K_Schulte I think scenario 3. Sum the files in each sub folder, but do not include the size of the files in the current folder. Those files are reported separately.
@Ryan Ries I am glad you had fun writing the solution to this event.
@Ryan yes, it seems that some people are still having problems uploading their scripts. I will post back when upload is back on line.
PoshCode is back up and running. Thank you everyone for your understanding. My apologies for any inconvenience