BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 Wenn's quasi ne einmalige Aktion sein soll, finde ich Damians Vorschlag in Deinem Fall nicht schlecht. ... geht eventuell schneller und ist am Ende weniger Arbeit. vor 22 Minuten schrieb LEDZEPPELIN: Also die Dateien sehen fast alle so aus wie oben beschrieben Ja, genau da ist das Problem - "... sehen fast alle so aus ..." vor 24 Minuten schrieb LEDZEPPELIN: (und die paar auf die es nicht passt würden doch ignoriert oder?) Das kommt darauf an - eventuell eben nicht. N' Vorschlag zu Güte ... und weil bald Weihnachten ist: Wenn es nicht gerade Pornos sind und auch sonst keine irgendwie kompromittierenden Sachen und Du bereit wärst, die Informationen hier mit uns zu teilen, dann poste doch hier einfach mal ne *.txt-Datei mit der kompletten Datei-Liste und wir können versuchen was zusammenzuzimmern. vor 30 Minuten schrieb LEDZEPPELIN: 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 Code als Code formatieren bitte! .... und wenn Du wissen möchtest, ob eine Idee von Dir funktioniert, kannst Du's einfach testen. ... nicht gleich Kopieren oder Verschieben, sondern erstmal nur die Ergebnisse ausgeben lassen Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Danach habe ich ja gesucht. Aber alle Tools die ich finden konnte wie File to folder oder Advanced Renamer oder dropit! kriegen das nicht hin wegen der unterschiedlichen Dateinamen oder benennen um oder können keine neuen Ordner generieren. Das Progamm von Dir sieht sehr kompliziert aus und scheint uf den ersten Blick auch primär fürs umbennen zu sein. Bist Du sicher das es für meine Anforderung richtig ist? Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 vor 12 Minuten schrieb LEDZEPPELIN: Das Progamm von Dir sieht sehr kompliziert aus und scheint uf den ersten Blick auch primär fürs umbennen zu sein. Deine Aufgabe ist ja auch sehr komplex. Mit regulären Ausdrücken (regular Expressions) kann man sehr komplexe Auswahl-Kriterien erzeugen und es wäre sehr wahrscheinlich noch ein teilweise manueller Prozess. Aber er macht die Sache leichter. Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Vielen vielen Dank fürs Angebot. Im Anhang ein Liste.txt Datei eines Ordners in dem sich nur noch die Dateiformate wie oben beschrieben befinden. Die anderen Typen habe ich rauskopiert. Da kümmere ich mich manuell drum. Ist nur ein Test Ordner. In der Realität reden wir von ca. 6000 Dateien. Liste.txt Zitieren Link zu diesem Kommentar
Damian 1.518 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 vor 24 Minuten schrieb LEDZEPPELIN: Das Progamm von Dir sieht sehr kompliziert aus und scheint uf den ersten Blick auch primär fürs umbennen zu sein. Ja, das Tool ist primär zum massenhaften Umbenennen gedacht. Recht komplex, aber die Suchfunktion ist für Dich hilfreich. Das Teil erzeugt auch selber noch nicht existierende Zielordner. BTW: In der bisher aufgelaufenen Zeit hättest Du das große Verschieben mit einem hilfreichen Tool und etwas Handarbeit schon locker geschafft. Ein Script für Alles ist natürlich "magic", aber Zauberstäbe sind heutzutage schwer zu bekommen. 1 Zitieren Link zu diesem Kommentar
daabm 1.334 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) Ich seh da ein klares Muster mit *.mkv als "Master-Namensteil"... Müßte man nur in ein nach Länge sortiertes Array werfen und alles wird gut Bleibt dann natürlich was über, weil die 3 Files "Bayern München (2020)" kein mkv dazu haben, aber Leichen kannst Du sicher manuell bereinigen. Oder man nimmt *.nfo als Master, dann klappt auch das. Und alle zusätzlichen Dateien dazu heißen ja immer *-<irgendwas>. @Damian Zauberstab ist doch kein Problem... https://esge-zauberstab.de/ bearbeitet 10. Dezember 2020 von daabm 1 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) vor 25 Minuten schrieb LEDZEPPELIN: Vielen vielen Dank fürs Angebot. Im Anhang ein Liste.txt Datei eines Ordners in dem sich nur noch die Dateiformate wie oben beschrieben befinden. Die anderen Typen habe ich rauskopiert. Da kümmere ich mich manuell drum. Ist nur ein Test Ordner. In der Realität reden wir von ca. 6000 Dateien. Liste.txt 764 B · 3 downloads Mir geht's da wie Martin - ich sehe auch ein Muster. Wir suchen also nach *,mkv-Dateien, und den im Namen dazu passenden *.nfo-Dateien und im Namen dazu passenden *.jpg-Dateien, die aber noch fanart und poster angehängt haben. Wenn die Dateinamen wirklich diesem Schema entsprechen, sollte der folgende Schnipsel, das tun, was Du willst (also das, von dem ich glaube, dass Du es willst) .... $StartFolder = 'D:\Test' $TargetFolder = 'D:\Archiv' Get-ChildItem -Path $StartFolder -File -Filter *.mkv | ForEach-Object { $BaseName = $_.BaseName $Destination = Join-Path -Path $TargetFolder -ChildPath $BaseName if (-not(Test-Path -Path $Destination -PathType Container)) { New-Item -Path $Destination -ItemType Directory | Out-Null } Move-Item -Path $_.FullName -Destination $Destination $nfo = Join-Path -Path $_.Directory -ChildPath ($_.BaseName + '.nfo') Move-Item -Path $nfo -Destination $Destination $poster = Join-Path -Path $_.Directory -ChildPath ($_.BaseName + '-poster.jpg') Move-Item -Path $poster -Destination $Destination $fanart = Join-Path -Path $_.Directory -ChildPath ($_.BaseName + '-fanart.jpg') Move-Item -Path $fanart -Destination $Destination } ... bitte erst an Test-Daten testen!! 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 Perfekt. Macht genau was ich wollte. Wäre manuell oder auch mit einem so komplen Tool auch nicht schneller gegangen da ich mich da auch erst wieder hätte einarbeiten bzw. reindenken müssen. Ich habe gelernt dass es besser ist wenn ich meine Frage komplett mit allen Infos stelle und meine Denkfehler weglasse da diese das Problem eher verkomplizieren. VIELEN DANK. Wenn Du mal nach Unterfranken kommst gebe ich Dir einen aus. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 vor 3 Minuten schrieb LEDZEPPELIN: Wenn Du mal nach Unterfranken kommst gebe ich Dir einen aus. Wat'n Pech. Ich fahre nie weiter als bis Oberfranken. Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 10. Dezember 2020 Autor Melden Teilen Geschrieben 10. Dezember 2020 Schade. Hätte mich gefreut mich erkenntlich zeigen zu können. Zitieren Link zu diesem Kommentar
daabm 1.334 Geschrieben 10. Dezember 2020 Melden Teilen Geschrieben 10. Dezember 2020 (bearbeitet) Da war der Olaf wieder schneller - ich wollte das noch etwas austesten, würde bei mir so aussehen: $Source = 'c:\abc' $Target = 'c:\xyz' $ext = 'nfo' $Names = Get-ChildItem -Path $Source -Filter "*.$Ext" -Recurse | Foreach { Add-Member -InputObject $_ -MemberType NoteProperty -Name NameLength -Value $_.BaseName.Length -PassThru } $Names = $Names | Sort -Property NameLength -Descending Foreach ( $Name in $Names ) { # alle Files im gleichen Folder wie das NFO $Files = Get-ChildItem -Path $( $Name.DirectoryName ) # alle Files "irgendwo" $Files = Get-ChildItem -Path $Source -Filter "$( $Name.BaseName )*" -Recurse $CurrTarget = "$Target\$($Name.BaseName)" # jetzt noch die Files kopieren/moven New-Item $CurrTarget Foreach ( $File in $Files ) { $File | Move-Item -Destination $CurrTarget -Force } } Hat in meinen Augen den Charme, daß es die längsten Basenames zuerst verarbeitet - damit sind Fehlinterpretationen etwas reduziert. Aber das ist natürlich wurscht, wenn Du tatsächlich nur Fanart und Poster hast Und Schleifchen kann man sicher auch noch drankleben Edit: Ja, es ist oft besser, das eigentliche Ziel darzustellen als nach einer Lösung für Schwierigkeiten auf dem halben (und manchmal falschen) Weg zu fragen bearbeitet 10. Dezember 2020 von daabm Zitieren Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 11. Dezember 2020 Autor Melden Teilen Geschrieben 11. Dezember 2020 Auch Dir vielen Dank und natürlich auch das Angebot Dich mal zu melden wenn Du in Unterfranken vorbeikommst. Werde Deine Variante morgen mal testen. Zitieren Link zu diesem Kommentar
daabm 1.334 Geschrieben 11. Dezember 2020 Melden Teilen Geschrieben 11. Dezember 2020 @LEDZEPPELIN Ich weiß grad im Kopf nicht mal genau, welche Region Unterfranken eigentlich ist Bitte net hauen - Nürnberg kenn ich gut, Würzburg und Ansberg sind mir auch bekannt, aber die Grenzverläufe nicht... Testen mußt Du es eigentlich nicht - wenn die Variante von Olaf für dich funktioniert, ist doch alles ok. Aber jeder Skripter denkt etwas anders und findet daher andere Lösungen, und die von Olaf unterscheidet sich von meiner schon elementar, da dachte ich, ich stelle die trotzdem noch mit rein. @BOfH_666 Du bist bestimmt jetzt nicht böse, oder? Und rock stable ist es auch nicht - bei New-Item würde es abkacken, wenn der Zielordner schon existiert Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 12. Dezember 2020 Melden Teilen Geschrieben 12. Dezember 2020 (bearbeitet) vor 2 Stunden schrieb daabm: @BOfH_666 Du bist bestimmt jetzt nicht böse, oder? Und rock stable ist es auch nicht - bei New-Item würde es abkacken, wenn der Zielordner schon existiert Du hast es runiniert!!!! ... neee ... und für "rock stable" ist der Empfänger zuständig ... nicht die kreativen Problemlöser-Köpfe, die hier die Ideen liefern ... die können sich nicht mit so profanen Dingen wie Error-Handling oder so'n Schmus aufhalten lassen .... bearbeitet 12. Dezember 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
testperson 1.660 Geschrieben 12. Dezember 2020 Melden Teilen Geschrieben 12. Dezember 2020 vor 10 Stunden schrieb daabm: Und rock stable ist es auch nicht - bei New-Item würde es abkacken, wenn der Zielordner schon existiert Dafür gibt es doch "-Force". Wozu Error-Handling? Tz.. :) Und ansonsten ist der Part ja in @BOfH_666s Script mit drin. P.S.: @daabm und @BOfH_666: Leerzeichen nach Statements und vor/nach den Expressions in Klammern lassen meinen inneren Monk Schnappatmung kriegen. ;) Ich bin aber sehr froh, dass Ihr den Scriptblock nicht in eine neue Zeile verfrachtet, wie es MS in den Beispielen der Docs oder auch die ISE macht. P.P.S.: Gibt es hier theoretisch eigentlich einen "korrekten" Standard? P.P.P.S.: Ihr beide versteht ja Spaß und dürft natürlich euren Code so formatieren, wie ihr wollt. :) 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.