rushhour

Powershell mehrere Ordner anlegen

Hallo zusammen,
ich versuche mich grade an einem PowerShell Script mit dem ich mehrere Ordner und Berechtigungen dazu anlegen kann.
Funktioniert soweit auch alles wenn es nur ein Ordner ist. Bei mehreren hab ich Probleme. Ist wahrscheinlich wie immer nur eine Kleinigkeit..
Hier mal der Code ohne den Teil mit den Berechtigungen..

$OrdnernameInstall = "Programme2","Programme3"
$PfadInstall = "C:\" + $OrdnernameInstall

if ((test-path $PfadInstall -pathType container) -ne $True) {
$OrdnernameInstall = New-Item -Path $PfadInstall -ItemType "directory"
Invoke-WmiMethod -Path "Win32_Directory.Name='$OrdnernameInstall'" -Name uncompress
write-host "$NeuerOrdnerInstall erstellt"}
else {
$NeuerOrdnerInstall = $PfadInstall
write-host "$NeuerOrdnerInstall existiert bereits."
}
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 514606

Url: https://administrator.de/forum/powershell-mehrere-ordner-anlegen-514606.html

Ausgedruckt am: 03.07.2025 um 10:07 Uhr

emeriks
emeriks 13.11.2019 um 12:26:36 Uhr
Goto Top
rushhour
rushhour 13.11.2019 um 12:40:57 Uhr
Goto Top
Sorry, ich steh grad aufm Schlauch .. Er erstellt einen Ordner der "Programme3 Programme4" heißt.. Die Ausgabe kommt allerdings 2 mal, also läuft er 2x in die Schleife?!

$OrdnernameInstall = @('Programme3','Programme4')
$PfadInstall = "C:\" + $OrdnernameInstall
$OrdnernameInstall | ForEach-Object{

if ((test-path $PfadInstall -pathType container) -ne $True) {
$Ordnername = New-Item -Path $PfadInstall -ItemType "directory"
Invoke-WmiMethod -Path "Win32_Directory.Name='$Ordnername'" -Name uncompress
write-host "$NeuerOrdnerInstall erstellt"}
else {
$NeuerOrdnerInstall = $PfadInstall
write-host "$NeuerOrdnerInstall existiert bereits."
}}
erikro
Lösung erikro 13.11.2019 aktualisiert um 15:33:46 Uhr
Goto Top
Moin,

so geht das nicht.

$OrdnerInstall = @('Ordner1','Ordner2',...)  
$PfadInstall = "C:\"  

foreach($Ordner in $Ordnerinstall) {

   if(Test-path "$Pfadinstall\$Ordner ...) {  

      New-Item -path "$pfadinstall\$ordner" -itemtype directory  
      ...

   }

hth

Erik
emeriks
emeriks 13.11.2019 um 13:02:20 Uhr
Goto Top
  1. benutze bitte Code-Tags beim Posten eines Quellcodes
  2. Zeile 2 gehört nach Zeile 3
141815
141815 13.11.2019 aktualisiert um 13:52:12 Uhr
Goto Top
Zitat von @erikro:

Moin,

so geht das nicht.

foreach($Ordner in $Ordnerinstall) {


Nur zur Info

$Ordnerinstall ≠ $OrdnernameInstall
erikro
erikro 13.11.2019 um 15:33:29 Uhr
Goto Top
Zitat von @141815:

Zitat von @erikro:

Moin,

so geht das nicht.

foreach($Ordner in $Ordnerinstall) {


Nur zur Info

$Ordnerinstall ≠ $OrdnernameInstall

Ooooops. Danke. Aber der TO hat es offensichtlich gemerkt. Ich korrigiere den Fehler für folgende Generationen. face-smile