Voorbeelden van hernoemen

Dit is meer een suggestie dan een vraag. Maar ik neem alles wat ik krijgen kan.

Ik heb zojuist een nieuwe mini-pc aan mijn netwerk toegevoegd, alleen bedoeld voor het draaien van Plex en MCEBuddy. Daarbij heb ik MCEBuddy geüpgraded van 2.5, die ik succesvol een tijdje heb gebruikt, naar versie 2.64.

Met 2.5 werkte alles prima, maar nu heb ik problemen met MCEBuddy die de opnamedatum aan het einde van de filmtitel toevoegt en dat vindt Plex niet fijn. Ik wil alleen de filmtitel en mogelijk het jaar van de oorspronkelijke release, opgeslagen in een map met de filmtitel.

Slecht: The Bourne Ultimatum - 2024-11-23 2211.mp4
Goed: The Bourne Ultimatum - 2007.mp4

Ik laat Plex films opnemen in DVR Recordings en series in DVR TV Recordings op de mini-pc. MCEBuddy controleert deze twee mappen. Als MCEBuddy klaar is, gaat mijn uiteindelijke bestemming naar TV- of filmmappen op mijn NAS-drive.

Ik heb in MCEBuddy gezocht naar een voorbeeld dat ik kan gebruiken, maar het verwart me enorm.

Suggestie: Het zou geweldig zijn als iemand een lijst met beschrijvingen en voorbeelden voor het hernoemen op een pagina zou maken, zodat gebruikers zoals ik ze simpelweg kunnen kopiëren en plakken. De lijst kan films en series gecombineerd bevatten, maar ook gescheiden in een vereenvoudigde versie zoals ik zoek.

oops, ik bedoelde het jaar tussen haakjes te zetten
The Bourne Ultimatum (2007).mp4

Ik gebruik Plex en dit is hoe ik mijn enkele taak zowel films als tv-series laat afhandelen.

\%ismovie%<Movies\%showname%%ifairdate% (%airyear%),>\%showname%,TV\showname%%ifpremieredate% (%premiereyear%),>\Season %ifseason%<%season%##,00>\%showname% - S%ifseason%<%season%##,00>E%episode%## - %episodename%>

Laten we het uitleggen:
%ismovie%<> Dit is een logische true/false-controle. Als het een film is, wordt het eerste segment tot de komma gebruikt; als het onwaar is, wordt het tweede segment gebruikt. Ik heb ook enkele van dit soort controles genest binnen dit alles.
Dus als het een film is, wordt het pad Movies\ gevolgd door de naam van de show en als er een uitzenddatum is, wordt (uitzenddatum) aan de mapnaam toegevoegd; anders wordt er niets aan de mapnaam toegevoegd. Vervolgens de naam van de show/film.
Eindresultaat: \Movie\The Bourne Ultimatum (2007)\The Bourne Ultimatum.mp4

Als het geen film is, wordt het in de TV-map geplaatst. Dan een map voor de naam en als er een premièredatum is, zet die dan in (). Er wordt een submap voor het Seizoen gemaakt en als er een seizoen is, wordt er een voorloopnul aan het seizoensnummer toegevoegd en als er geen seizoen is, wordt het 00. Dus het zou Seizoen 01 zijn als er een seizoen is en als er geen seizoen is, zou het Seizoen 00 zijn. Vervolgens wordt het bestand genoemd: Show naam - S dan hetzelfde seizoensnummer-logica als mapnaam, E afleveringsnummer - afleveringsnaam.
Eindresultaten: \TV\Breaking Bad (2008)\Seizoen 01\Breaking Bad - S01E01 - Pilot.mp4

Ik zet het jaar niet in de bestandsnaam, maar in de mapnaam waaronder het bestand(en) zich bevindt. Plex kan dit gebruiken om te matchen zonder problemen. Maar het zou ook kunnen dat het matcht vanwege metadata.

Maar voor een eenvoudige toevoeging van het jaar voor een film kun je gebruiken:
%showname% (%airdate%)

Geweldige informatie! Ik denk dat ik het echt begin te begrijpen.

Ik heb de bestemming van de voltooide film gewijzigd naar de hoofdmap van Plex op mijn NAS, aangezien je code het als film zou moeten herkennen en het automatisch in de map Films zou moeten plaatsen.

Ik heb wat jij had gekopieerd en geplakt en een test uitgevoerd met “2 Guns”.

Ik denk dat we enkele backslashes missen, want 2 Guns is niet in de map Films terechtgekomen en is opgeslagen in de hoofdmap van Plex zonder “2 Guns”-map, zoals je op de onderstaande foto kunt zien.

Ik weet niet precies hoe de backslash met het %-teken werkt, dus ik hoopte dat je ernaar kunt kijken en me kunt helpen met het probleem.

Heel erg bedankt,
Tim

Je hebt gelijk, het lijkt erop dat het forumbericht de backslashes heeft verwijderd. Probeer dit:
\%ismovie%<Movies\%showname%%ifairdate%< (%airyear%),>\%showname%,TV\showname%%ifpremieredate%< (%premiereyear%),>\Season %ifseason%<%season%##,00>\%showname% - S%ifseason%<%season%##,00>E%episode%## - %episodename%>

Ook heeft @Goose mijn oorspronkelijke antwoord gefixt zodat de slashes zichtbaar zijn. Bedankt Goose.

Ik heb zojuist een film geconverteerd en het werkte PERFECT! Heel erg bedankt. Ik vind het geweldig hoe je hetzelfde script gebruikt voor zowel series als films.
Op dit moment staan mijn films en series nog in twee aparte taken, omdat ik mijn Plex-series fysiek op een andere computer opsla die een tweede Plex-server draait vanwege ruimtegebrek. Ik heb je hele script in mijn filmconversietaak geplakt, maar ik overweeg om net als jij één enkele taak te gebruiken. Weet jij of er in dit script een manier is om een IP-adres of servernaam voor de series-locatie toe te voegen?

Er is geen manier om de hoofdbestemming binnen de hernoemingsreeks te wijzigen. Dus je zou in jouw geval nog steeds twee taken nodig hebben. Maar je kunt dezelfde hernoemingsreeks gebruiken. Tenzij je de locatie op de ene server kunt koppelen aan de andere.

Bedankt dat je dit probleem met mij oppakt en ermee aan de slag gaat. Ik gebruik jouw idee en kijk of ik het met mapping kan oplossen.
Weet jij een link waar de beschikbare commando’s voor MCEBuddy te vinden zijn? Ik heb vroeger geprogrammeerd en ben gewoon nieuwsgierig om meer over MCEBuddy te leren.

Hier is de sectie over het hernoemen van bestanden.
Aangepast patroon voor het hernoemen van bestanden

Ik bedacht net een paar manieren waarop je mogelijk één enkele taak kunt gebruiken.

1 - Gebruik PostCustomCommand. (Waarschijnlijk iets ingewikkelder dan de 2e optie)
Je kunt een script schrijven dat parameters gebruikt om het bestand naar de andere locatie te verplaatsen als het daar hoort.
Hier zijn de beschikbare variabelen.
Aangepaste opdrachten uitvoeren

Je kunt bijvoorbeeld een postcustomcommand-script hebben met een naam als moveTVShows.ps1. Het kan een parameter hebben zoals isMovie (isTVShow is geen variabele) en de %ismovie% doorgeven, en als deze false is, weet je dat je het moet verwerken. Dat zou de eerste logische controle in het script zijn. De rest zou een combinatie zijn van %destinationpath% en %convertedfilename% om te bepalen wat er moet worden verplaatst en wat er mogelijk moet worden gemaakt op de bestemming.

Voorbeeld van toevoeging aan profiel met PowerShell Core:

PostCustomCommandPath="C:\Program Files\PowerShell\7\pwsh.exe"
PostCustomCommandParameters="pad naar ps1-scriptbestand" -isMovie %ismovie% -DestinationPath "%destinationpath%" -DestinationFileBaseName "%convertedfilename%"
PostCustomCommandHangPeriod=0
PostCustomCommandCritical=false
PostCustomCommandUISession=false
PostCustomCommandShowWindow=false
PostCustomCommandExitCodeCheck=false

2 - Maak een geplande taak die bestanden verplaatst van de tv-locatie op je filmserver naar de tv-locatie op je tv-server. Iets eenvoudigs met robocopy zou moeten werken. Het onderstaande voorbeeld heeft waarschijnlijk aanpassingen nodig, het is even geleden dat ik robocopy heb gebruikt.

robocopy.exe "\\MovieServer\Plex\TV" "\\TVServer\Plex\TV" /S /MOV /V /NP

Bedankt voor het plaatsen hiervan. Ik probeerde een tijdje geleden met versie 2.5 logica te gebruiken met conversies en dat ging volledig mis. Vervolgens probeerde ik mcebuddy te vertellen geen comskip uit te voeren op PBS-programma’s, maar dat verhinderde uiteindelijk dat opnames werden geconverteerd. Als we maar meer voorbeelden hadden van hoe de logica in de gebruikershandleiding te gebruiken, dan zou het voor de eindgebruiker zoveel toegankelijker zijn om de voorbeelden in actie te zien. Ik vind het fijn dat aanpassing mogelijk is, maar het lijkt een complexe zaak te worden zodra je probeert meer dan een handvol conversie- of hernoemscenario’s in te stellen. Je moet eigenlijk terug naar programmeren 101 en een flowchart maken en alles aan het eind verifiëren.

Ja, het kostte veel vallen en opstaan om deze string te verfijnen en gelukkig heb ik wat basiskennis van programmeren en doe ik veel scripting als onderdeel van mijn werk.

Ik heb dit visueel iets meer uitgesplitst zodat de logische controles duidelijker zichtbaar zijn. Ik heb de eerste \ weggelaten omdat deze niet goed werd geformatteerd

%ismovie%
	If Is a Movie then "Movies\%showname%"
		%ifairdate%
			If airdate not blank/null then append " (%airyear%)"
			If airdate blank/null then no append or ""
		"\%showname%"
	If Not a Movie then "TV\%showname%"
		%ifpremierdate%
			If premierdate not blank/null then append " (%prmiereyear%)"
			If premierdate blank/null then no append or ""
		"\Season "
		%ifseason%
			If season not blank/null then append "%season%##"
			If season blank/null then append "00"
		"\%showname% - S"
		%ifseason%
			If season not blank/null then append "%season%##"
			If season blank/null then append "00"
		"E%episode%## - %episodename%

Dankjewel! Dit formaat is veel makkelijker te begrijpen. Net als jij heb ik eerder geprogrammeerd, maar nog nooit gescript. Ik ga nu zelf ook proberen wat te maken, nu je het hebt uitgelegd, en kijken wat ik er nog meer mee kan. Omdat ik meerdere computers heb die als Plex-servers draaien in mijn netwerk (overblijfselen van voorgaande jaren), kan ik er één isoleren om op te nemen/te bewaren in een aparte map en de geïsoleerde MCEBuddy vanaf die schijf experimenten laten uitvoeren, zonder het originele bestand te verwijderen. Zo heb ik een “sandbox” om in te spelen.

Maar eerlijk gezegd werkt je oorspronkelijke script al GEWELDIG! Ik vind de nette, schone naamgeving en de map met jaar. Sinds ik naar jouw script ben overgestapt, vind Plex de juiste metadata zonder problemen.

Even ter info: Kodi en Plex zijn echt geweldig om te gebruiken met je PVR-machines. Ik heb echter gemerkt dat je het tvdb- of imdb-id-nummer moet opzoeken voor een juiste matching van de metadata binnen verschillende programma’s. Ik gebruik tinyMediaManager om diverse aanvullende informatie op te halen, zoals cast, hernoemen en controleren op volledigheid. Mijn grootste probleem is het matchen van het premièrejaar, aangezien series elke 20-25 jaar “rebooten” met dezelfde naam. Ik heb gekozen om alle velden te scheiden door een punt, vervolgens alleen haakjes te gebruiken voor het premièrejaar, en het belangrijkst: Seizoen en Aflevering (S00E00), gevolgd door een korte beschrijving van de aflevering als al het andere niet matcht. Ik zou het premièrejaar in de foldernaam moeten zetten, maar uiteindelijk staat het in de bestandsnaam, dus hoef ik het niet voor de folder.

Dit is mijn naamgevingspatroon voor **televisieseries**:
%showname%\\%showname%.(%premiereyear%).S%season%##E%episode%##.%episodename%

Als je een betere oplossing hebt om de juiste metadata binnen te halen, laat het me weten. Ik zou ook willen dat Kodi een client-servermodel was, zodat mijn Fire Stick niet alle bestanden hoeft te hosten, of misschien de metadata alleen leest op het moment van gebruik en deze verwijdert zodra het bestand wordt gesloten. Maar het is niet bedoeld om op die manier te werken, dus ik geef me er gewoon aan over en gebruik alleen de minimale metadata, tenzij ik een echte computer met Kodi gebruik.

Bedankt Frank, ik ga dit script uitchecken in mijn “Sandbox” met Plex en kijken hoe het uitpakt. Ik gebruik af en toe Kodi, maar gebruik Plex al vele jaren waarvoor ik een levenslange abonnement heb gekocht. Plex wordt ZO veel beter dan in zijn vroege jaren

Dit ziet er behoorlijk nuttig uit, maar ik neem niet vaak films op - meestal tv-programma’s van PBS - wat leidt tot het probleem dat dit misschien kan worden aangepast om dit te verhelpen.

Als ik een programma opneem zoals “Unforgotten”, een Brits tv-programma dat PBS erop staat “Unforgotten on Masterpiece” te noemen, wat niet bestaat als je het opzoekt in de TVDB. Hoe kan dit of een soortgelijk script worden gebruikt om ‘on Masterpiece’ te verwijderen en alleen de eigenlijke naam van het programma over te houden?

Dat is haalbaar met een eenvoudige vervanging of de nieuwe regex-functie die we hebben toegevoegd voor het corrigeren van metadata.

Als alle namen identiek zijn en u ze gewoon op dezelfde manier wilt corrigeren, gebruikt u de eenvoudige vervangings- en correctiefunctie. Conversietaak → Expertinstellingen → Correctie

image

Als de titel licht varieert, raadpleeg dan dit bericht voor details over hoe u de titel kunt matchen en vervangen met behulp van regex.

https://discussion.mcebuddy2x.com/t/movie-filename-with-prescript-processes-as-tv-show/4856/2?u=goose

Als u niet bekend bent met regex, gebruik dan de AI-bot in de bovenste balk en u kunt deze vragen een regex te maken die overeenkomt met uw specifieke titelvariaties en de regex-vervangingsfunctie gebruiken om de juiste match te extraheren.