kamelle
Goto Top

Löschen von Verknüpfungen in beliebigen Ordnerstrukturen

Hallo,

hat jemand eine Idee, wie Verknüpfungen (.ink, etc., auch externe ), mit einem PS Script in Ordnerstrukturen unbestimmter Tiefe rekursiv gelöscht werden können?
Diese sind in ca. 600.000 Archiven in unbekannter Anzahl enthalten gewesen.
Auch wenn ich die Extensionen durch eine Veränderung in der Registry angezeigt bekomme, kann ich sie nicht durch eine Suche mit Platzhaltern listen und global löschen.

Content-ID: 670340

Url: https://administrator.de/forum/loeschen-von-verknuepfungen-in-beliebigen-ordnerstrukturen-670340.html

Ausgedruckt am: 24.12.2024 um 02:12 Uhr

Crusher79
Crusher79 23.12.2024 um 21:32:43 Uhr
Goto Top
Moin,

L nicht iiiii

LNK mal als Filter?
MirkoKR
MirkoKR 23.12.2024 um 21:39:11 Uhr
Goto Top
Hi.

Deine "Aufgabe" ist erstmal
-"einfach" - da werden unsere PS-Skripties sicher schnell was liefetn

ABER:

- Du erwähnst "Archive"?
- Derart häufige Links deuten auf ein [Dokument] Management ...
... sicher, das da Bezüge gelöscht werden sollen?
Kamelle
Kamelle 23.12.2024 um 22:00:40 Uhr
Goto Top
Ja face-smile
em-pie
em-pie 23.12.2024 aktualisiert um 22:03:50 Uhr
Goto Top
Moin,

hat jemand eine Idee…
Jo, für die Powershell folgendes:
Get-ChildItem()
Und dann ein (gepiptes) Remove-Item

Damit solltest du erst mal starten können face-smile
Kamelle
Kamelle 23.12.2024 um 22:06:05 Uhr
Goto Top
Zitat von @Crusher79:

Moin,

L nicht iiiii

LNK mal als Filter?

Ups... schwerer Fehler [shame]
prinzjulius
prinzjulius 23.12.2024 aktualisiert um 22:21:35 Uhr
Goto Top
Versuche es mal mit

Get-ChildItem -Recurse -Filter *.lnk | Remove-Item -Force

Das Skript startet im aktuellen Verzeichnis, und geht dieses und alle Unterverzeichnisse durch.

Cheers
MirkoKR
MirkoKR 23.12.2024 um 22:13:34 Uhr
Goto Top
Zitat von @Kamelle:

Ja face-smile

OK, ich interpretiere das so, das du "Altlasten" einer Verwaltung löschen möchtest ...

... sei dir aber bewusst, das du bei einer pauschalen z.B. .lnk Löschung auch ungewollte Effekte haben kannst!
Crusher79
Crusher79 23.12.2024 um 22:21:54 Uhr
Goto Top
War es nun ein Typo? Filter auf ink statt lnk?

Sonst poste mal dein Script!
Kamelle
Kamelle 23.12.2024 aktualisiert um 22:58:03 Uhr
Goto Top
Es war exact dasgleiche Script wie von PrinzJulius, nur das ich dösbaddel .ink eingegeben habe.
Lesen müsste man können.

Ich habe mal gerade das Script von 114757 vom 23.06.2015 getestet.


# Pfad anpassen
$path = "C:\temp"  

function Remove-DeadLinks([string]$folder){
    $shell = New-Object -Com WScript.Shell
    gci $folder -Filter *.lnk -Recurse | %{
        if (!(Test-Path ($shell.CreateShortcut($_.FullName)).TargetPath)){
            write-host "Lösche toten Link: '$($_.Fullname)'"  
            remove-item $_.FullName -Force
        }
    }
}
function Remove-EmptyFolders([string]$folder){
    gci $folder -Recurse | ?{$_.PSIsContainer -and !(gci $_.Fullname -Recurse | ?{!$_.PSIsContainer})} | remove-item -Force -Recurse -EA SilentlyContinue -Whatif
}
# Entferne leere Ordner
Remove-EmptyFolders $path
# Entferne tote Links
Remove-DeadLinks $path

geht auch, lässt nur jede Menge aktiver Links, die ich wie gesagt in der entpackten Sicherung auch nicht mehr brauche, zurück.
Morgen gehe ich mit der korrekten Extension nochmal an das o.a. script
Get-ChildItem -Recurse -Filter *.lnk | Remove-Item -Force
ran.
DivideByZero
DivideByZero 24.12.2024 um 00:06:08 Uhr
Goto Top
Moin,

entpackt hast Du ja schon (siehe alter Thread), ist das dann ein einmaliger Task? Dann abseits von Powershell sehr schnell mit vernünftigen Dateimanagern wie Total Commander im Handumdrehen erledigt.

Gruß

DivideByZero
Kamelle
Kamelle 24.12.2024 aktualisiert um 00:24:24 Uhr
Goto Top
IMO dachte ich, dass Powershell schneller läuft, als ein Umweg über ein Programm.

Ich bin gerade dabei, Archive aus meinem Computerleben, bin jetzt 70, zu entrümpeln. Die Scripte kommen wohl noch mehrmals zum Einsatz.
DivideByZero
DivideByZero 24.12.2024 um 03:15:32 Uhr
Goto Top
Mehrere Wege führen nach Rom. Rekursiv arbeitet der Total Commander auch bei großen Mengen einwandfrei.

Gutes Gelingen beim Aufräumen und schöne Weihnachten