Solved

Script to create subfolders

Posted on 2013-05-15
5
317 Views
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:\
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!
0
Comment
Question by:smithandandersen
[X]
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
5 Comments
 
LVL 85

Expert Comment

by:oBdA
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

0
 
LVL 7

Expert Comment

by:BT15
ID: 39168621
in powershell

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

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

md $outpath

}
0
 
LVL 6

Author Comment

by:smithandandersen
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

h:\2013\13001

Have a look at the png
I need a dst folder off the root in every subfolder under each year
H-drive.PNG
0
 
LVL 85

Accepted Solution

by:
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

0
 
LVL 6

Author Closing Comment

by:smithandandersen
ID: 39168901
cant believe how efficient that was...
0

Featured Post

Monthly Recap

May was a big month for new releases from Linux Academy! Take a look at what our team built recently in our blog. You can access the newest releases from our blog.

Question has a verified solution.

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

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 …
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

705 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