[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 320
  • Last Modified:

Script to create subfolders

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
smithandandersen
Asked:
smithandandersen
  • 2
  • 2
1 Solution
 
oBdACommented:
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
 
BT15Commented:
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
 
smithandandersenAuthor Commented:
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
 
oBdACommented:
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
 
smithandandersenAuthor Commented:
cant believe how efficient that was...
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now