Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Powershell Pfad von Unterordnern übergeben

Mitglied: patrick152
Hallo,

ich habe folgendes Problem:

Ich arbeite an einem Script welches ein Laufwerk durcharbeiten soll und die Ordner in denen keine nodelete.txt Datei Vorhanden ist sollen gelöscht werden. Dafür habe ich folgenden Script:

$a = Get-ChildItem .\ -recurse | where {$_.psisContainer -eq $True}

foreach ($b in $a)
{
if (!(Test-Path -Path .$b\nodelete.txt))
{
Remove-Item .$b
}

}

und zum Testen folgende einfache Ordnerstruktur

C:\putzenTest\Ordner1
C:\putzenTest\Ordner2
C:\putzenTest\Ordner1\Unterordner1
C:\putzenTest\Ordner1\nodelete.txt
C:\putzenTest\Ordner1\Unterordner1\nodelete.txt
C:\putzenTest\Ordner2\Unterordner2
C:\putzenTest\Ordner2\nodelete.txt
C:\putzenTest\Ordner2\Unterordner2\Unterordner32
C:\putzenTest\Ordner2\Unterordner2\nodelete.txt

wende ich meine Script nun darauf an gibt es ein Problem mit den Unterordnern (hier nur die Mledung für den ersten Ordner):

Remove-Item : Der Pfad "C:\putzenTest\Unterordner1" kann nicht gefunden werden, da er nicht vorhanden ist.
In C:\putzenTest\test.ps1:8 Zeichen:3

back-to-topRemove-Item $b

back-to-top~~~~~~~~~~~~~~

back-to-topCategoryInfo : ObjectNotFound: (C:\putzenTest\Unterordner1:String) [Remove-Item], ItemNotFoundException

back-to-topFullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand


anscheinend reicht er nicht den vollen Pfad weiter. Was kann man da machen?

Zum Hintergrund (evtl. hat jemand eine bessere Lösung)
Die Mitarbeiter sollen auf einem bestimmten Laufwerk die Ordner markieren die nicht gelöscht werden sollen. Durch anlegen einer nodelete.txt in dem entsprechenden Ordner.
Anschliesend soll der Script über das Laufwerk laufen und alle Ordner die keine nodelete.txt enthalten sollen gelöscht werden.

Gruß Patrick

Content-Key: 220332

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

Ausgedruckt am: 27.09.2021 um 23:09 Uhr

Mitglied: 106543
106543 24.10.2013 um 14:42:32 Uhr
Goto Top
Hi,

schonmal mit Anführungszeichen versucht ? -> ""

Grüße
Exze
Mitglied: patrick152
patrick152 24.10.2013 um 14:48:15 Uhr
Goto Top
Wenn ich um die Pfadangaben Anführungszeichen setzte kommt die selber Fehlermeldung nur das dann um den Nichtgefunden Pfad Anführungszeichen sind :) face-smile
Mitglied: 106543
106543 24.10.2013 um 14:52:42 Uhr
Goto Top
Verstehe ich nicht, sorry :( face-sad
Er scheint die Pfade ja richtig auszulesen, kann danach aber die Pfade nicht mehr finden, was sich für mich erstmal komisch anhör.
Ich mache mich nochmal schlau. Vielleicht kann hier auch @colinardo helfen.

Grüße
Exze
Mitglied: colinardo
colinardo 24.10.2013 aktualisiert um 21:04:25 Uhr
Goto Top
Hallo Patrick,
das kann so vom Prinzip her nicht funktionieren, denn wenn du einen Übergeordneten Ordner in dem keine 'nodelete.txt' vorhanden ist löschst und die Schleife kommt dann zu einem Unterordner des Ordners den du gerade gelöscht hast findet er diesen natürlich nicht mehr.
Mach es besser so, dass die Mitarbeiter die Ordner welche gelöscht werden sollen mit einer delete.txt markieren. Dann kannst du folgendes Script verwenden:
Grüße Uwe
p.s. du übergibst bei Test-Path das Objekt und nicht den Pfad, wenn schon dann so:
Test-Path -Path "$($b.DirectoryName)\nodelete.txt"
Heiß diskutierte Beiträge
info
Bundeswehr lässt Retro Funkgeräte für 600 Millionen Euro produzierenhacktorVor 1 TagInformationHardware13 Kommentare

Dachte zuerst das ist ein verspäteter Aprilscherz Die saufen da offensichtlich zu viel Club-Cola au banan. ...

question
Neue Verschlüsselung TLS 1.3eberhartIIVor 1 TagFrageDrucker und Scanner17 Kommentare

Hallo, es geht um eine Verschlüsselung, die die Telekom seit 02. September 2021 einsetzt. Ab diesem Datum müssen die E-Mails mit dem Schlüssel TLS 1.3 ...

question
Zentrales Nutzermanagement Windows ServerDeltaDragonVor 1 TagFrageWindows Server6 Kommentare

Hallo zusammen, Ich suche hier heute Euren Rat zum Thema Nutzermanagement auf einem Windows-V-Server Kenntnisse Ich bin zwar seit zehn Jahren Softwareentwickler (Java), habe jedoch ...

general
Frage an die IT-Administratoren in UnternehmenFuchor2020Vor 9 StundenAllgemeinOff Topic12 Kommentare

Hallo Leute, freue mich hier im Forum dabei sein zu dürfen. Da ich noch relativ neu in der IT Branche bin, befasse ich mich aktuell ...

question
Partition reparieren, oder löschen ?Hermann73Vor 1 TagFrageWindows 107 Kommentare

Vielleicht ist das für manche eine dumme Frage. Kann man eine defekte Partition löschen? Ich habe das Problem, dass ich auf die Partition "E" durch ...

question
Keine Internet mit IPv6 in den VLANs (FritzBox auf SG350) gelöst derBenVor 1 TagFrageRouter & Routing9 Kommentare

Hallo zusammen, ich brauch bitte eure Hilfe im Bezug auf VLAN und IPv6. Problem: Keine Internetverbindung mit IPv6 in den VLAN´s Netzwerkaufbau: Internet (VodafoneCable + ...

question
BIOS-Passwort beim Neustart umgehenFreeBSDVor 6 StundenFrageEntwicklung10 Kommentare

Hallo zusammen, ich bin gerade auf der Suche nach einer Lösung für folgendes Problem und zwar haben wir in der Firma mehrere Notebooks im Einsatz ...

question
Merkwürdige Meldung im iPhone Safari BrowsermartenkVor 7 StundenFrageiOS8 Kommentare

Hallo Gemeinschaft ich bekomme seit kurzem dieses Bild in Safari: Was bedeutet es? ...