LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Ich versuchs mal anders zu formulieren. Das Skript müßte erkennen bis wohin die Dateinamen identisch sind und den neuen Ordner dann so benennen. Besipiel: Auto 1fgh.txt Auto 2.ts Auto 3 jkl.nfo Erzeugt einen neuen Ordner Auto und schiebt alle drei Dateien rein. Jetzt besser verständlich? Gerade eben schrieb Dukel: Gibt es irgendeinen trenner? Sind immer am Ende Zahlen? Nein, leider keine Konstante. Mal ne Klammer, mal eine Zahl, mal ein Minus etc. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) vor 17 Minuten schrieb LEDZEPPELIN: Das der Pfad zu den Zeichen dazugehört wußte ich nicht. Mal sehen wie es aussieht wenn ich aus der 7 eine 12 mache. Hat funktioniert. Yeaaahhh ... ich glaub, den Groschen hab ich jetzt bis hier fallen gehört. Zitat Das ist wahrswcheinlich nicht machbar oder? Es ist ALLES machbar, was Du scripten kannst. Du kannst das beliebig komplex gestallten und haarklein auf Deine Umgebung zuschneidern. Ich bin nur etwas skeptisch, ob Du schon die nötigen Kenntnisse hast. ... und ich bin mir nicht sicher, ob wir schon das "komplette Bild" von Dir gezeigt bekommen haben. vor 9 Minuten schrieb LEDZEPPELIN: Nein, leider keine Konstante. Mal ne Klammer, mal eine Zahl, mal ein Minus etc. Gibt es irgendeine "Regel", die Du formulieren könntest, um einem Unbeteiligten zu erklären, wo jeweils die Grenze zu ziehen wäre? Edit: Nach der jetzigen Beschreibung würde ich vermuten: Alle Zeichen bis zum ersten "Nicht-Wort-Zeichen" oder eher [a-z]* ... wenn Du verstehst, was ich meine. bearbeitet 10. Dezember 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Die Regel wäre bis zum ersten Zeichen, dass nicht in allen Dateien identisch ist. Im Beispiel also nach dem Leerzeichen nach Auto. Zum kompletten Bild. Ich habe nicht viel Ahnung von Skripten. Komme aus einer anderen Branche und versuceh mir so ein paar Sachen anzueignen bzw. wenn ich Skripte finde die meinen Anforderungen ungefähr zu entsprechen diese irgendwie anzupassen. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) vor 8 Minuten schrieb LEDZEPPELIN: Die Regel wäre bis zum ersten Zeichen, dass nicht in allen Dateien identisch ist. Im Beispiel also nach dem Leerzeichen nach Auto. .... aber es sind ja offenbar nicht nur Dateien im Ordner, die mit Auto anfangen, oder? Also würden schon Dateien die mit "B" anfangen Deiner Regel widersprechen ... Lass doch mal folgendes Schnipsel bei Dir laufen und schau, ob das ungefähr dem entspricht, was Du an Ordnernamen haben wollen würdest: $StartFolder = 'D:\Test' Get-ChildItem -Path $StartFolder -File | ForEach-Object { $_.Name -match '([a-z]*)' | Out-Null $Matches[1] } bearbeitet 10. Dezember 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Stimmt. Es sind natürlich immer andere Anfangsbuchstraben bzw. Dateinamen. Dein Skript würde fast passen, ich habe aber auch Leerzeichen in den Dateinamen, z.B. Ich bin arm dran und Dein Skript hört nach den ersten gemeinsamen Buchstaben auf. So dass der Ordnername dann Ich wäre, und nicht wie gewünscht Ich bin arm dran. Da müßte man wahrscheinlich in der eckigen Klammer die Sonderzeichen hizufügen oder? Zitieren Link zu diesem Kommentar
testperson 1.675 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 Wo kommen denn die Daten bzw. deren Dateinamen her? Evtl. sollte man bei der Erstellung der Dateien ansetzen und dort direkt "sinnvoller" benennen. P.S.: ".txt", ".nfo" und ".ts" klingt so als würdest du hier "deine" digitalisierte Filmsammlung sortieren wollen. Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 jep. Und es ist auch "Meine". Nix gesaugt oder so. 11 jahre aufgezeichnet und jetz soll Ordnung gemacht werden. Also sinnvollere Namen kann ich denen glaub ich nicht mehr geben im nachhinein. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 vor 49 Minuten schrieb LEDZEPPELIN: Dein Skript würde fast passen, ich habe aber auch Leerzeichen in den Dateinamen, z.B. Ich bin arm dran und Dein Skript hört nach den ersten gemeinsamen Buchstaben auf. So dass der Ordnername dann Ich wäre, und nicht wie gewünscht Ich bin arm dran. Das ist, was ich mit "Regel" meinte. Wenn es nicht möglich ist, die Kriterien in einem technischen Algorithmus zu formalisieren, sondern ein "kreativer Akt" oder semantisches Verständnis nötig ist, dann ist das mit einem Script vermutlich nicht so einfach lösbar. vor 41 Minuten schrieb LEDZEPPELIN: jep. Und es ist auch "Meine". Nix gesaugt oder so. 11 jahre aufgezeichnet und jetz soll Ordnung gemacht werden. Also sinnvollere Namen kann ich denen glaub ich nicht mehr geben im nachhinein. Dann ist es wohl am zielführendsten, wenn Du die entsprechend "vorsortierst". Also die zusammengehörigen Dateien in ein Verzeichnis und dann das Script starten. Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Schade. Wenn man das Übergehen der Leerzeichen noch hätte einfürgen können wäre es perfekt gewesen. Trotzdem vielen vielen Dank für Eure Hilfe. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) Naja, entweder ist ein Leerzeichen ein Trennzeichen oder eben nicht. Wenn man aus den Namen keine Regel ableiten kann, geht das nicht automatisiert. Das letzte Leerzeichen als Trennzeichen ginge z.B. Du mußt nur "irgendwie" in der Lage sein, eine allgemeingültige Regel zu formulieren, die auf ALLE Dateien passt - oder eine, die "not matching" aussortieren kann, die Du dann manuell prüfen mußt. bearbeitet 10. Dezember 2020 von daabm Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) Ich habe mir die Dateien jetzt nochmal angesehen. Meistens sieht das so aus Name.ts oder .mkv Name.nfo Name-fanart.jpg Name-poster.jpg Eine Lösung könnte doch sein wenn man eine Regel einbaut die bei den .jpg Dateien die letzten 7 Zeichen ignoriert und dann vergleicht und in den Ordner schiebt. Den Namen des Ordners könnte man = Name der mkv; ts; oder nfo Datei machen. Würde das gehen? bearbeitet 10. Dezember 2020 von LEDZEPPELIN Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 Du kannst versuchen - und . als trenner zu nehmen. Substring, split, indexof Helfen dir dabei. > ('Name.ts').split(".-")[0] Name > ('Name-fanart.jps').split(".-")[0] Name Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) vor 7 Minuten schrieb LEDZEPPELIN: Würde das gehen? Es geht alles, was Du so formulieren kannst, dass es auf ALLE Dateien im Verzeichnis passt. Wenn Du bei ALLEN *.jpg-Dateien die letzten 7 Zeichen ignorieren kannst, geht es. Aber je komplexer Dein Regelwerk wird, desto fragiler und anfälliger für Fehler wird es auch. Und Deine Beispiele sehen bisher jedes mal anders aus. bearbeitet 10. Dezember 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) War sicherlich mein Fehler das nicht komplett korrekt darzustellen. Dachte es wäre einfacher von vorne einfach nur die Gleichen Zeichen zu nehmen. Deshalb habe ich die hinteren ignoriert. Mein Denkfehler. Also die Dateien sehen fast alle so aus wie oben beschrieben (und die paar auf die es nicht passt würden doch ignoriert oder?) Name.ts oder .mkv Name.nfo Name-fanart.jpg Name-poster.jpg Das sieht dann in etwas so aus oder? > ('Name.ts').split(".-")[0] Name > ('Name.mkv').split(".-")[0] Name > ('Name-fanart.jpg').split(".-")[0] Name > ('Name-poster.jpg').split(".-")[0] Name bearbeitet 10. Dezember 2020 von LEDZEPPELIN Zitieren Link zu diesem Kommentar
Damian 1.532 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 Hi Vorschlag: Wenn Dir die Bastelei mit einem Script zu kompliziert ist, dann erledige das Sortieren und Verschieben doch manuell mit einem geeigneten Tool. Spart Zeit und führt auch zum Ziel. Empfehlen kann ich das "Bulk Rename Utility". Schau Dir mal den Sreenshot an: https://www.bulkrenameutility.co.uk/#mainscreen Du hast sehr viele Optionen, nach selber bestimmten Regeln zu suchen und kannst die gefundenen Dateien dann in einem Schwung ins neue Verzeichnis verschieben oder kopieren. Ich nutze das Tool selber oft für sehr große Datenbestände. Ist kostenlos (private use) und läuft auch ohne Installation. VG Damian Disclaimer: Bin mit dem Entwickler nicht in irgendeiner Weise verbunden oder in Kontakt. Wir leben nur zufällig auf dem selben Planeten. 1 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.