Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell Pfad von Unterordnern übergeben

Frage Entwicklung Batch & Shell

Mitglied: patrick152

patrick152 (Level 1) - Jetzt verbinden

24.10.2013, aktualisiert 14:36 Uhr, 3244 Aufrufe, 4 Kommentare

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

Remove-Item $b

~~~~~~~~~~~~~~

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

FullyQualifiedErrorId : 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
Mitglied: 106543
24.10.2013 um 14:42 Uhr
Hi,

schonmal mit Anführungszeichen versucht ? -> ""

Grüße
Exze
Bitte warten ..
Mitglied: patrick152
24.10.2013 um 14:48 Uhr
Wenn ich um die Pfadangaben Anführungszeichen setzte kommt die selber Fehlermeldung nur das dann um den Nichtgefunden Pfad Anführungszeichen sind
Bitte warten ..
Mitglied: 106543
24.10.2013 um 14:52 Uhr
Verstehe ich nicht, sorry
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
Bitte warten ..
Mitglied: colinardo
24.10.2013, aktualisiert um 21:04 Uhr
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:
01.
$rootFolder = "C:\Ordner" 
02.
dir "$rootFolder\delete.txt" -recurse | ?{!($_.PSIsContainer)} | %{Remove-Item $_.DirectoryName -Recurse -Force}
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"
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Recursiv Unterordner anlegen Powershell (2)

Frage von Voiper zum Thema Batch & Shell ...

Batch & Shell
Powershell multiple Datei-Inhaltssuche und mehrere Unterordner (3)

Frage von Jenny82 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(1)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(4)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...