Top-Themen

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

Mitglied: patrick152

patrick152 (Level 1) - Jetzt verbinden

24.10.2013, aktualisiert 14:36 Uhr, 3942 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
Powershell Pfad überprüfen
gelöst Frage von H41mSh1C0RBatch & Shell11 Kommentare

Hi @ PS Profis, Irgendwie seh ich den Wald vor lauter Bäumen nicht. (oder es ist einfach Zeit für ...

Batch & Shell
Powershell: Variable in Pfad einbauen
gelöst Frage von ThunderbirdOPBatch & Shell2 Kommentare

Hallo Leute, ich würde gerne eine Variable in einen Pfad einsetzen, bekomme aber immer den Fehler zurück, dass der ...

Batch & Shell
Problem mit UNC-Pfad ? powershell-skript
Frage von today12Batch & Shell2 Kommentare

Hallo liebe Community, ich hab ein kleines Verständnis Problem mit UNC-Pfade. ich möchte mein Skript auf ein Netzlaufwerk legen, ...

Batch & Shell

Powershell aus Powershell starten (start-process powershell) mit Leerzeichen im Pfad

gelöst Frage von adm2015Batch & Shell1 Kommentar

Ich möchte einfach ein Powershell Script aus einem anderen Powershell Script aufrufen. (start-process powershell "c:\test.ps1") Jedoch habe ich ein ...

Neue Wissensbeiträge
Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 8 StundenBackup

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 2 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 steht in Englisch bereit mit Unterstützung für Windows 10 1903 (May Update)

Information von VGem-e vor 2 TagenSicherheits-Tools1 Kommentar

Moin Kollegen, Dann kommt wohl demnächst auch die deutschsprachige/europäische Version zur Auslieferung. Gruß VGem-e

Batch & Shell
PowerShell Konferenz - Videos online
Information von NetzwerkDude vor 2 TagenBatch & Shell

Abend, die Tage werden Videos der Talks von der diesjährigen EU Powershell Konferenz hochgeladen, sind einige Interessante dabei: MFG ...

Heiß diskutierte Inhalte
Google Android
Anbieter für Diensthandys
Frage von Pat.batGoogle Android21 Kommentare

Hallo zusammen, ich bin seit einiger Zeit zuständig für die Diensthandys bei uns in der Behörde. Eine Management Software ...

Microsoft Office
Office 365 eMail via Website verschicken
Frage von BiBeSoMicrosoft Office16 Kommentare

Hallo, kann man im Office 365 eMails anlegen welche zum versenden (smtp) für die Website funktionieren ? Muss man ...

Windows Server
Verbindunsproblem zwischen Klient und Wsus-Server
Frage von flashgordon78Windows Server16 Kommentare

Liebe Forum Besucher! Ich habe ein Wsus_Server (Win Server 2016) erstellt und die Update sind herunterladen worden. Aber ich ...

Exchange Server
Vorgehen um von Tobit auf Exchange zu wechseln
Frage von Martin1987Exchange Server15 Kommentare

Guten Abend Ich habe den Auftrag erhalten, unser Mail von David zu Outlook zu wechseln. Wie muss ich da ...