Jump to content

Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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.

Link zu diesem Kommentar
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.  ;-) :D 

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 von BOfH_666
Link zu diesem Kommentar

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.

Link zu diesem Kommentar
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 von BOfH_666
Link zu diesem Kommentar

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?

Link zu diesem Kommentar
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. 

Link zu diesem Kommentar

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 von daabm
Link zu diesem Kommentar

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 von LEDZEPPELIN
Link zu diesem Kommentar
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 von BOfH_666
Link zu diesem Kommentar

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 von LEDZEPPELIN
Link zu diesem Kommentar

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. :thumb1:

 

VG

Damian

 

Disclaimer: Bin mit dem Entwickler nicht in irgendeiner Weise verbunden oder in Kontakt. Wir leben nur zufällig auf dem selben Planeten. :grins2:

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...