Bat Datei - Order auslesen in Zeilen
Hallo Leute
Ich versuche gerade meinen Bilderorder auszulesen und in eine Datei zu speichern. Bisher habe ich
[autorun]
cd C:\test\
dir *.jpg *.mkv /b /o:N /s > C:\test\verzeichnisse.txt
exit
und eine schöne Liste (Zeilen) mit allen Dateinamen. Was ich aber brauche ist eine Liste mit Zeilen und Spalten.
Immer wenn die ersten 6 Stellen des Dateinamen gleich sind soll der Bildname in die gleiche Zeile
Bisher
Beispiel:
DSCI12-31072015-1.jpg
DSCI12-31072015-2.jpg
DSCI12-31072015-3.jpg
DSCI12-31072015-4.jpg
DSCI12-31072015-5.jpg
ADI354-12062015-1.jpg
ADI354-12062015-2.jpg
ADI354-12062015-3.jpg
ADI354-12062015-4.jpg
ADI354-12062015-5.jpg
ADI357-12062015-Sonnenuntergang.jpg
ADI357-12062015-Schirm.jpg
Nachher:
DSCI12;DSCI12-31072015-1.jpg;DSCI12-31072015-2.jpg;DSCI12-31072015-3.jpg;DSCI12-31072015-4.jpg;DSCI12-31072015-5.jpg
ADI354;ADI354-12062015-1.jpg;ADI354-12062015-2.jpg;ADI354-12062015-3.jpg;ADI354-12062015-4.jpg;ADI354-12062015-5.jpg
ADI357;ADI357-12062015-Sonnenuntergang.jpg;ADI357-12062015-Schirm.jpg
Kann mir jemand helfen
Ich versuche gerade meinen Bilderorder auszulesen und in eine Datei zu speichern. Bisher habe ich
[autorun]
cd C:\test\
dir *.jpg *.mkv /b /o:N /s > C:\test\verzeichnisse.txt
exit
und eine schöne Liste (Zeilen) mit allen Dateinamen. Was ich aber brauche ist eine Liste mit Zeilen und Spalten.
Immer wenn die ersten 6 Stellen des Dateinamen gleich sind soll der Bildname in die gleiche Zeile
Bisher
Beispiel:
DSCI12-31072015-1.jpg
DSCI12-31072015-2.jpg
DSCI12-31072015-3.jpg
DSCI12-31072015-4.jpg
DSCI12-31072015-5.jpg
ADI354-12062015-1.jpg
ADI354-12062015-2.jpg
ADI354-12062015-3.jpg
ADI354-12062015-4.jpg
ADI354-12062015-5.jpg
ADI357-12062015-Sonnenuntergang.jpg
ADI357-12062015-Schirm.jpg
Nachher:
DSCI12;DSCI12-31072015-1.jpg;DSCI12-31072015-2.jpg;DSCI12-31072015-3.jpg;DSCI12-31072015-4.jpg;DSCI12-31072015-5.jpg
ADI354;ADI354-12062015-1.jpg;ADI354-12062015-2.jpg;ADI354-12062015-3.jpg;ADI354-12062015-4.jpg;ADI354-12062015-5.jpg
ADI357;ADI357-12062015-Sonnenuntergang.jpg;ADI357-12062015-Schirm.jpg
Kann mir jemand helfen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 287475
Url: https://administrator.de/contentid/287475
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
11 Kommentare
Neuester Kommentar
Moin.
Gruß jodel32
@echo off
set "quelle=D:\Bilder"
set "output=D:\datei.txt"
powershell -ExecutionPolicy ByPass -Command "gci '%quelle%' -Include '*.jpg','*.mkv' -Recurse | sort Name | group {$_.Name.SubString(0,6)} | %%{$_.Group.Name -join ';'} | set-content '%output%'"
Du hast noch eine alte Powershell du musst mind. Version 3.0 verwenden ...
oder diese Version verwenden welche ich PS 2.0 kompatibel gemacht habe:
oder diese Version verwenden welche ich PS 2.0 kompatibel gemacht habe:
@echo off
set "quelle=D:\Bilder"
set "output=D:\datei.txt"
powershell -ExecutionPolicy ByPass -Command "gci '%quelle%' -Include '*.jpg','*.mkv' -Recurse | sort Name | group {$_.Name.SubString(0,6)} | %%{$_.Name + ';' + (($_.Group | select -Expand Name) -join ';')} | set-content '%output%'"
Ach so, das habe nicht gesehen da es nicht explizit im Post erwähnt war, ist jetzt im letzten Post ergänzt ...
Zitat von @jocheng:
Du bist ein Gott nur ist fehlt jetzt nach dem ersten Bild jetzt das ; und das obwohl ';' angegeben ist. Ich habe es schon mit einem + ';' probiert aber dann bekomme ich einen Fehler!
Nö, geht hier wie gewünscht ...Musst du schon mehr erläutern was wo fehlt ...Du bist ein Gott nur ist fehlt jetzt nach dem ersten Bild jetzt das ; und das obwohl ';' angegeben ist. Ich habe es schon mit einem + ';' probiert aber dann bekomme ich einen Fehler!
Bei einer CSV hast du nie am Ende ein alleine stehendes Semikolon, außer danach soll eine leere Spalte kommen. That's by design !
Wie schon gesagt PS Update machen die PS2.0 hat diverse Bugs ...(habs nochmal minimal angepasst, zusätzliche Klammersetzung damit die PS2.0 das frisst.)