Script to create subfolders

Posted on 2013-05-15
Last Modified: 2013-05-15
I need to create a script that I can run on a file share that will create a specific subfolder in the same location for all folders. vbscript...batch...powershell all are good

Currently the share is setup like below

h:\year folder (folders are 1965, 1966,1967... up to 2013
h:\year\Building(building folders are named with last 2 year digits then 3 digits sequentially...65001,65002,97001,97135, 12001,12005 and so on).
We have literally thousands of building folders, I need to be able to create a folder called DST off the root of all building folders

Thanks in advance for all help!
Question by:smithandandersen
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 84

Expert Comment

ID: 39168307
That's a one-liner in a command prompt; it's currently in test mode and will only display the "md" commands it would normally run. To run it for real, remove the uppercase ECHO in front of "md":
for /L %y in (1965, 1, 2013) do @for /d %b in ("H:\%y\Building?????") do @(ECHO md "%b\DST")

Open in new window

And if you insist on a script, you only need to double up on the percent signs And we can make it look a bit more elegant:
@echo off
for /L %%y in (1965, 1, 2013) do (
	for /d %%b in ("H:\%%y\Building?????") do (
		ECHO md "%%b\DST"

Open in new window


Expert Comment

ID: 39168621
in powershell

#this should get all directories with the name Building
get-childitem h:\ -recurse | ? {($ -like "Building*") -and ($_.attributes -eq "directory")} | % {

$outpath = $_.fullname + '\DST'

md $outpath


Author Comment

ID: 39168770
Hi guys
my issue is I dont have any folders called building. As I mentioned in my post...the building folders are named like 65008, 72154, 99001 so the file path would be


Have a look at the png
I need a dst folder off the root in every subfolder under each year
LVL 84

Accepted Solution

oBdA earned 500 total points
ID: 39168812
Same difference, only a bit less to type; just remove the "Building" in my commands above, so that only the "?????" remain.
for /L %y in (1965, 1, 2013) do @for /d %b in ("H:\%y\?????") do @(ECHO md "%b\DST")

Open in new window

@echo off
for /L %%y in (1965, 1, 2013) do (
	for /d %%b in ("H:\%%y\?????") do (
		ECHO md "%%b\DST"

Open in new window


Author Closing Comment

ID: 39168901
cant believe how efficient that was...

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Auto-indent certain lines in Notepad++ 10 145
Some AHK commands fail in Microsoft OneNote 5 72
Powershell GUI 11 64
Error when Running powershell script 6 31
In this tutorial I will show you how to provide a dynamic RTF document on your website generated with data from your database. For this tutorial you will need Microsoft Word or WordPad, WhizBase and Microsoft Access. In this tutorial I will show …
In this tutorial I will show you how to make a simple HTML bar chart with the usage of WhizBase, If you want more information about WhizBase please read my previous articles at (http://www.experts-ex…
Learn the basics of strings in Python: declaration, operations, indices, and slicing. Strings are declared with quotations; for example: s = "string": Strings are immutable.: Strings may be concatenated or multiplied using the addition and multiplic…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question