Power Shell Script zu Bild Suche
Hallo liebe Mitglieder,
ich brauche dringend eure Hilfe.
Problemstellung:
1.Bilder anhand des Namens z.B. "B1876GH.jpg" aus einem Ordner herausziehen diesem neuen Namen vergeben z.B."123.jpg" vergeben.
Die Name habe ich in einer Excel-Liste stehen in zwei Spalten alter Name Spalte A1 neben dran ist der neue Name B1.
Es handelt sich um tausenden von Bildern. Gibt es eine Möglichkeit das ganze auf eine schnellere Art zu realisieren als manuell suchen, rauskopieren und umbenennen.
Ich wäre sehr dankbar für die Hilfe.
Viele Grüße
Andreas
ich brauche dringend eure Hilfe.
Problemstellung:
1.Bilder anhand des Namens z.B. "B1876GH.jpg" aus einem Ordner herausziehen diesem neuen Namen vergeben z.B."123.jpg" vergeben.
Die Name habe ich in einer Excel-Liste stehen in zwei Spalten alter Name Spalte A1 neben dran ist der neue Name B1.
Es handelt sich um tausenden von Bildern. Gibt es eine Möglichkeit das ganze auf eine schnellere Art zu realisieren als manuell suchen, rauskopieren und umbenennen.
Ich wäre sehr dankbar für die Hilfe.
Viele Grüße
Andreas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 294138
Url: https://administrator.de/forum/power-shell-script-zu-bild-suche-294138.html
Ausgedruckt am: 21.04.2025 um 16:04 Uhr
10 Kommentare
Neuester Kommentar

Moin,
Excel File als CSV speichern so dass diese so aussieht:
usw.
Dann folgenden Code verwenden
Feddich.
Gruß jodel32
Excel File als CSV speichern so dass diese so aussieht:
"Old";"New"
"datei_alt.jpg";"datei_neu.jpg"
"datei_alt2.jpg";"datei_neu2.jpg"
Dann folgenden Code verwenden
cd 'c:\Bilderordner'
$csv = Import-CSV 'c:\Dateinamen.csv' -Delimiter ";"
$csv | ?{Test-Path $_.Old} | %{rename-item $_.Old -NewName $_.New -Force}
Gruß jodel32
Hi,
Will sagen: Nicht gleich so kopliziert denken. Wie wäre es damit:
Falls es eine einmalige oder eher seltene Aufgabe ist - In der Excel-Tabelle erstellst Du über eine Funktion die Verschieb- (Umbennen-) Befehle
Bsp.
Spalte A = alter Name
Spalte B = neuer Name
Spalte C = "move " & A1 & " " & B1
Die Formel in Spalte C überträgst Du auf alle Zeilen. Dann die Spalte C kopieren und in Notepad einfügen. Das Notepad-Dokument als CMD speichern und ausführen. Alternativ kannst Du die Befehle direkt in eine Eingabeaufforderung reinkopieren.
Wichtig: Wenn Spalten A und B keine vollständigen Pfade sind, dann muss die CMD vorher ins entsprechende Verzeichnis wechseln oder die Formel anpassen:
Spalte C = "move C:\Ordner\" & A1 & " C:\Ordner\" & B1
E.
1.Bilder anhand des Namens z.B. "B1876GH.jpg" aus einem Ordner herausziehen diesem neuen Namen vergeben z.B."123.jpg" vergeben.
Die Name habe ich in einer Excel-Liste stehen in zwei Spalten alter Name Spalte A1 neben dran ist der neue Name B1.
Es handelt sich um tausenden von Bildern. Gibt es eine Möglichkeit das ganze auf eine schnellere Art zu realisieren als manuell suchen, rauskopieren und umbenennen.
ja, die Kirche im Dorf lassen?Die Name habe ich in einer Excel-Liste stehen in zwei Spalten alter Name Spalte A1 neben dran ist der neue Name B1.
Es handelt sich um tausenden von Bildern. Gibt es eine Möglichkeit das ganze auf eine schnellere Art zu realisieren als manuell suchen, rauskopieren und umbenennen.
Will sagen: Nicht gleich so kopliziert denken. Wie wäre es damit:
Falls es eine einmalige oder eher seltene Aufgabe ist - In der Excel-Tabelle erstellst Du über eine Funktion die Verschieb- (Umbennen-) Befehle
Bsp.
Spalte A = alter Name
Spalte B = neuer Name
Spalte C = "move " & A1 & " " & B1
Die Formel in Spalte C überträgst Du auf alle Zeilen. Dann die Spalte C kopieren und in Notepad einfügen. Das Notepad-Dokument als CMD speichern und ausführen. Alternativ kannst Du die Befehle direkt in eine Eingabeaufforderung reinkopieren.
Wichtig: Wenn Spalten A und B keine vollständigen Pfade sind, dann muss die CMD vorher ins entsprechende Verzeichnis wechseln oder die Formel anpassen:
Spalte C = "move C:\Ordner\" & A1 & " C:\Ordner\" & B1
E.

War das jetzt ne Frage ??

Zitat von @akoch85:
Ja, wie kann ich zuerst die Bilder die zu Umbenennen sind anhand des alten Namen in der Excel Liste "old" aus dem Ordner A in Ordner B rausfischen und erst dann umbenennen ?
Fischen tu ich am Mittelmeer Ja, wie kann ich zuerst die Bilder die zu Umbenennen sind anhand des alten Namen in der Excel Liste "old" aus dem Ordner A in Ordner B rausfischen und erst dann umbenennen ?
Brauchst du garnicht "rausfischen" kannst du direkt im gefundenen Ordner umbenennen. Wichtig, Spaltennamen der CSV wie oben (Old/New).
Kommentare siehe Code
# CSV Datei importieren
$csv = Import-CSV 'c:\Dateinamen.csv' -Delimiter ";"
# Alle Dateien in allen Unterordnern eines Ordners auflisten
$files = gci 'C:\Oberordner' -Recurse -File
# Für jede Zeile in der CSV
foreach($fname in $csv){
# Vergleiche den aktuellen Dateinamen aus der CSV mit den ermittelten Dateien und bei Übereinstimmung benenne sie um
$files | ?{$_.Name -eq $fname.Old} | rename-item -NewName $fname.New -Force
}

Naja, umständlich aber jeder wie er will.
Kannst du ja obigen Code verwenden und anstatt dem Umbenennen ein Move-Item einsetzen ... feddich
Kannst du ja obigen Code verwenden und anstatt dem Umbenennen ein Move-Item einsetzen ... feddich

Du hast den Parameter -destination nicht angegeben
und nicht vergessen das die Spaltenübeschriften Old und New heißen müssen ansonsten musst du die Namen im Skript anpassen.

Lüppt hier wie immer einwandfrei...
$files | ?{$_.Name -eq $fname.Old} | move-item -Destination 'c:\Bilder_Neu'
Irgendwie funktioniert es nicht.
100 Punkte für eine der besten Fehlerbeschreibungen der Welt ! Lüppt hier wie immer einwandfrei...