Powershell Script - Pfade aus anderer Datei auslesen und nutzen
Hallo zusammen,
als Newbie in dem Bereich komme ich hier nicht so ganz voran und weiss auch nicht wo ansetzen. Hat vielleicht jemand einen Tip oder gar die Lösung zum Abschauen?
Wir haben Ordner, deren Inhalt ( Unterorder & Dateien) wir regelmäig löschen möchten, die Überordner müssen aber aufgrund von Freigaben bestehen bleiben.
Das löschen selbst ist kein Problem mit
Get-ChildItem [Pfad] | Remove-Item -Force -Recurse
Nun haben wir aber mehrere Ordner ca 50 Stk, die sich auch öfters mal ändern.
Ich könnte hier den Befehl natürlich auf alle Pfade anwenden und immer anpassen. Dann liegt die Arbeit aber bei mir.
Mein Wunsch wäre daher, das es z.b. eine Excel oder Editor datei gibt, in der die Pfade stehen und durch einen MA gepflegt werden können, das Script dann die Pfade aus der Datei ausliest und in Schleife ausführt.
Hat mir hier jemand eine Lösung oder einen Ansatz?
Vielen Dank vorab
als Newbie in dem Bereich komme ich hier nicht so ganz voran und weiss auch nicht wo ansetzen. Hat vielleicht jemand einen Tip oder gar die Lösung zum Abschauen?
Wir haben Ordner, deren Inhalt ( Unterorder & Dateien) wir regelmäig löschen möchten, die Überordner müssen aber aufgrund von Freigaben bestehen bleiben.
Das löschen selbst ist kein Problem mit
Get-ChildItem [Pfad] | Remove-Item -Force -Recurse
Nun haben wir aber mehrere Ordner ca 50 Stk, die sich auch öfters mal ändern.
Ich könnte hier den Befehl natürlich auf alle Pfade anwenden und immer anpassen. Dann liegt die Arbeit aber bei mir.
Mein Wunsch wäre daher, das es z.b. eine Excel oder Editor datei gibt, in der die Pfade stehen und durch einen MA gepflegt werden können, das Script dann die Pfade aus der Datei ausliest und in Schleife ausführt.
Hat mir hier jemand eine Lösung oder einen Ansatz?
Vielen Dank vorab
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668839
Url: https://administrator.de/contentid/668839
Ausgedruckt am: 19.11.2024 um 09:11 Uhr
6 Kommentare
Neuester Kommentar
D:\pfade.txt
script.ps1
D:\Ordner\Test1
D:\Ordner\Test2
foreach ($pfad in Get-Content 'D:\pfade.txt' | ?{$_.trim() -ne ''}){
if(Test-Path $pfad){
remove-item -Path "$pfad\*" -Recurse -Force -verbose
}else{
write-warning "Pfad '$pfad' existiert nicht!"
}
}
und durch einen MA gepflegt werden können
Kann man nur hoffen das der vertrauenswürdig ist und das Backup in Reichweite ist .Zitat von @Campino86:
Ergebnis ist hier allerdings auch, dass nicht nur die Dateien und Unterordner, sondern auch das Hauptverzeichnis welches angegeben ist gelöscht wird.
Hatte ich übersehen und hatte es nachträglich noch angepasst, ein Get-ChildItem davor ist übrigens nicht nötig ...Ergebnis ist hier allerdings auch, dass nicht nur die Dateien und Unterordner, sondern auch das Hauptverzeichnis welches angegeben ist gelöscht wird.
Was ich aber nicht so ganz verstehe ist der Teil if(Test-Path
Was bedeutet hier Test-Path?
Einfach mal lesen ... Überprüfen ob der angegebene Pfad überhaupt existiert, ansonsten hagelt es eine Fehlermeldungen wenn du diese nicht unterdrückst. Muss man nicht zwingend machen ist aber schöner und sagt dem User, dass er sich evt. mit dem Pfad vertippt hat.Was bedeutet hier Test-Path?