Löschen von doppelten Dateien mit ähnlichen Namen in Powershell-ISE

719
Manetheren

Ich habe ein paar hunderttausend Dateien, die alle in einem Ordner liegen. Ich muss die Duplikate finden und löschen. Das Problem ist, dass die doppelten Dateien nur ähnliche Namen haben und nicht genau gleich sind. Die anderen Teile sind unterschiedlich. Ist es möglich, powershell-ISE zu verwenden, um Dateien anhand ähnlicher Namen zu suchen, und doppelte Dateien mit einer Namenslänge von weniger als 7 Zeichen löschen?

Ich bin bei Powershell sehr neu, daher müssen alle Antworten erklärt werden. :)

Vielen Dank.

1
Wie kann ich einen Datumsbereich festlegen, in dem die Dateien gelöscht werden sollen? Ich möchte die Dateien in Blöcken von einem Monat löschen. Manetheren vor 7 Jahren 0
Also habe ich es mit Unterstützung eines Freundes herausgefunden. Ich kann nicht das ganze Skript in einem Teil veröffentlichen, deshalb sind hier drei Kommentare zu dem Skript. $ From = "01.08.2016" $ Bis = "03.08.2016" $ Files = Get-ChildItem "\\ NetworkDrive \ Duplikate" -Filter "* .tif" | Where-Object {$ _. LastWriteTime -le $ bis -und $ _. LastWriteTime -ge $ From} foreach ($ File in $ Files) Manetheren vor 7 Jahren 0
{$ ExFiles = Get-ChildItem "\\ NetworkDrive \ Duplicates" -Filter "* .tif" | Where-Object {$ _. LastWriteTime -le $ bis -und $ _. LastWriteTime -ge $ From} foreach ($ ExFile in $ ExFiles) }}} Manetheren vor 7 Jahren 0
{$ File.Name + "-" + $ ExFile.Name $ Path = "\\ NetworkDrive \ Duplicates \" + $ ExFile.Name $ Dest = "\\ NetworkDrive \ Duplicates \ Temp" Move-Item $ Path -Destination $ Ziel}}}} Manetheren vor 7 Jahren 0
Es ist in Ordnung, Ihre eigene Frage zu beantworten. Sie sollten die Kommentare entfernen und diesen Code als Antwort posten. Drücken Sie CTL K, um den Code einzugeben. Für jede zusätzliche Zeile 4 Leerzeichen einrücken. Prüfen Sie im Vorschaubereich darunter, ob das Format korrekt ist, bevor Sie es senden, da dies für andere nützlich sein kann. Ich bin froh, dass es funktioniert hat. Randy Schuman vor 7 Jahren 0

0 Antworten auf die Frage