Mkdir or folder to all directories which have a folder called "copyhere"

I have a requirement.

I have to create a folder called test001. The issues is this:

  • It is on the C Drive
  • Folder is C:\folder001
  • However inside folder001, there are subfolders:
    001
    002
    003
    004

Within each of these, there is the folder called “copyhere”. This is where I want the folder, test001 to be created.

How can I do this? Is this possible with mkdir?

PLEASE NOTE: If it exits, then dont create it.

This should do the trick, worked for me when i tested.
I guess it could be done with mkdir but i like to use only powershell commandlets in my scripts if possible.

New-Item -ItemType Directory -Path C:\newfolder works as well as mkdir

Get-ChildItem .\folder001 -Recurse | Where-Object {$_.PsIsContainer} | % {
    If($_.Name -eq "copyhere"){
        If((Test-Path "$($_.FullName)\test001") -eq $false) {
            New-Item -ItemType Directory -Force -Path "$($_.FullName)\test001"
            }
    }
}

Could use wild cards with Get-ChildItem to find the folders you want to work with:

Get-ChildItem C:\folder001\???\copyhere | Foreach { New-Item -Path (Join-Path $_ test001) -ItemType Directory -Force }

I tested this after creating your directory structure this way:

$paths = 1..4 | Foreach { 'C:\folder001\{0:000}\copyhere' -f $_ }
New-Item -Path $paths -ItemType Directory -Force

That’s a much nicer solution there Nathan :slight_smile: