voiper
Goto Top

Recursiv Unterordner anlegen Powershell

Moin,

folgendes Problem:

Ich habe eine Ordnerstruktur, bei der in jedem Unterordner der Order "00_Archiv" anlegt wird. Leider ist mir bei einer Migration gestern der Filewatcher gestorben, der das automatisch macht (nochmal danke an @colinardo dafür ) .
Nun wollte ich das gerne Script erledigen aber mein If-Statement haut nicht hin. Der Ordner soll nur angelegt werden, wenn noch kein 00_Archiv existiert und kein parent 00_Archiv ist.

Mein Script sieht bisher so aus:

ForEach($dir in (Get-ChildItem 'C:\Users\Ich\Desktop\Bla' -Recurse | Where{$_.psiscontainer}))  
{
$parentPath = (get-item $dir.fullname).parent
If(!(Test-Path "$($dir.fullname)\00_Archiv") -and $parentPath -ne "00_Archiv"){  

    New-Item "$($dir.fullname)\00_Archiv" -type directory | Out-Null  
    Write-Host "Folder created in $($dir.fullname)"  
}
}


Vielen Dank und Gruß,

V

Content-ID: 321838

Url: https://administrator.de/contentid/321838

Ausgedruckt am: 21.11.2024 um 19:11 Uhr

131381
Lösung 131381 23.11.2016 aktualisiert um 12:28:55 Uhr
Goto Top
Leider ist mir bei einer Migration gestern der Filewatcher gestorben
R.I.P. face-wink
gci 'C:\Users\Ich\Desktop\Bla' -Recurse -Directory | ?{$_.Fullname -notmatch '00_Archiv' -and !$_.GetDirectories('00_Archiv',1)} | %{md "$($_.FullName)\00_Archiv" -Verbose | out-null}  
Gruß
Voiper
Voiper 23.11.2016 aktualisiert um 14:02:28 Uhr
Goto Top
Ich danke vielmals ;) funktioniert (sogar mein verbose ist mit drin face-smile )