Eksempler på omdøbning

Dette er mere et forslag end et spørgsmål. Men jeg tager, hvad jeg kan få.

Jeg har lige tilføjet en ny mini-pc til mit netværk udelukkende for at køre Plex og MCEBuddy. Samtidig opgraderede jeg MCEBuddy fra 2.5, som jeg har brugt succesfuldt i lang tid, og har nu 2.64 installeret.

Det fungerede fint i 2.5, men nu har jeg problemer med, at MCEBuddy tilføjer optagelsesdatoen til slutningen af filmnavnet, og det kan Plex ikke lide. Jeg foretrækker bare filmnavnet og muligvis det år, den først udkom, gemt i en mappe med filmnavnet.

Dårlig: The Bourne Ultimatum - 2024-11-23 2211.mp4
God: The Bourne Ultimatum - 2007.mp4

Jeg har Plex til at optage film i DVR Recordings og serier i DVR TV Recordings på mini-pc’en. MCEBuddy overvåger disse 2 mapper. Når MCEBuddy er færdig, er min endelige destination TV- eller filmmapper på min NAS-disk.

Jeg har ledt efter et eksempel i MCEBuddy, men det forvirrer mig helt vildt.

Forslag: Det ville være fantastisk, hvis nogen kunne lave en liste med beskrivelser og eksempler til omdøbning på en side, så brugere som mig bare kunne kopiere og indsætte dem. Listen kunne inkludere film og tv-serier kombineret samt adskille dem til en forenklet version som den, jeg leder efter.

ups, jeg mente at sætte året i parentes
The Bourne Ultimatum (2007).mp4

Jeg bruger plex, og dette er, hvordan jeg lader min enkelte opgave håndtere både film og tv-serier.

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

Lad os bryde det ned:
%ismovie%<> Dette er en logisk sand/falsk-tjek. Hvis det er en film, bruges det første segment op til kommaet; hvis falsk, bruges det andet segment. Jeg har også nogle indlejrede tjek af denne type i det hele.
Så hvis det er en film, bliver stien Movies\ derefter seriens navn, og hvis der er en udsendelsesdato, inkluderes (udsendelsesdato) i mappenavnet; ellers tilføjes intet til mappenavnet. Derefter navnet på serien/filmen.
Slutresultat: \Movie\The Bourne Ultimatum (2007)\The Bourne Ultimatum.mp4

Hvis det ikke er en film, bliver den placeret i TV-mappen. Derefter en mappe for navnet, og hvis der er en premieredato, sættes den i (). Der oprettes en undermappe til sæsonen, og hvis der er en sæson, sættes der et foranstillet nul foran sæsonnummeret, og hvis der ikke er nogen sæson, bliver det 00. Så det ville se ud som Season 01, hvis der er en sæson, og hvis der ikke er, ville det være Season 00. Derefter navngives filen Seriens navn - S derefter den samme sæsonnummerlogik som mappenavn, E afsnitsnummer - afsnitsnavn.
Slutresultater: \TV\Breaking Bad (2008)\Season 01\Breaking Bad - S01E01 - Pilot.mp4

Jeg sætter ikke året i filnavnet, men i stedet i mappenavnet, som filen(e) ligger under. Plex kan bruge dette til at matche uden problemer. Men det kan også matche på grund af metadata.

Men for grundlæggende at inkludere året for en film kan du bruge
%showname% (%airdate%)

Fantastisk information! Jeg tror faktisk, jeg er begyndt at forstå det.

Jeg ændrede destinationsmappen for den færdige film til hoved-Plex-mappen på min NAS, da din kode burde genkende den som en film og automatisk placere den i Movies-mappen.

Jeg kopierede og indsatte det, du havde skrevet, og kørte en test på “2 Guns”.

Jeg tror, vi mangler nogle backslashes, da “2 Guns” ikke kom ind i Movies-mappen, men blev gemt i hoved-Plex-mappen uden en “2 Guns”-mappe, som du kan se på billedet herunder.

Jeg er ikke sikker på, hvordan backslash fungerer med %, så jeg håbede, du kunne kigge på det og hjælpe mig med problemet.

Mange tak,
Tim

Du har ret, det ser ud til at forumposten fjernede backslashes. Prøv dette:
\%ismovie%<Movies\%showname%%ifairdate%< (%airyear%),>\%showname%,TV\showname%%ifpremieredate%< (%premiereyear%),>\Season %ifseason%<%season%##,00>\%showname% - S%ifseason%<%season%##,00>E%episode%## - %episodename%>

Desuden fik @Goose rettet mit oprindelige svar, så skråstregerne vises. Tak, Goose.

Jeg har lige konverteret en film, og det virkede FANTASTISK! Tusind tak. Jeg elsker, at du bruger det samme script til både serier og film.
Lige nu er mine film og serier opdelt i to opgaver, fordi jeg fysisk gemmer mine Plex-tv-serier på en anden computer, der kører en 2. udgave af Plex-serveren pga. pladsproblemer. Jeg har sat hele dit script ind i min filmkonverteringsopgave, men overvejer at bruge kun den ene opgave, som du gør. Til det formål – ved du, om man kan tilføje en IP-adresse eller servernavn i dette script til seriernes placering?

Der er ikke mulighed for at ændre rodmappen inden for omdøbsstrengen. Så du ville stadig have brug for to opgaver i dit tilfælde. Men du kunne bruge den samme omdøbsstreng. Medmindre du kan mappe placeringen på den ene server til den anden.

Mange tak for at tage denne sag op og løbe med mig. Jeg vil bruge din idé og se på at løse det med mapping.
Kender du et link, hvor de tilgængelige kommandoer findes for MCEBuddy? Jeg har programmeret i et tidligere liv og er bare nysgerrig efter at lære mere om MCEBuddy.

Her er afsnittet om omdøbning af filer.
Brugerdefineret filomdøbningsmønster

Jeg kom lige i tanke om et par måder, du muligvis kan have én enkelt opgave på.

1 - Brug PostCustomCommand. (Sandsynligvis lidt mere kompliceret end 2. mulighed)
Du kunne skrive et script, der bruger parametre til at flytte filen til den anden placering, hvis den hører til der.
Her er de variabler, der er tilgængelige.
Kørsel af brugerdefinerede kommandoer

Du kunne f.eks. have et postcustomcommand-script med navnet noget i retningen af moveTVShows.ps1. Det kunne have en parameter, der hedder isMovie (isTVShow er ikke en variabel), og sende %ismovie% med; hvis den er falsk, ved du, at du skal behandle, hvis ikke. Det ville være det første logikcheck i scriptet. Resten ville være at bruge en kombination af %destinationpath% og %convertedfilename% til at afgøre, hvad der skal flyttes, og hvad der eventuelt skal oprettes på destinationen.

Eksempel på profiltilføjelse med PowerShell Core:

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

2 - Hav en planlagt opgave, der flytter filer fra TV-placeringen på din filmserver til TV-placeringen på din TV-server. Noget simpelt med robocopy burde virke. Nedenstående eksempel skal sandsynligvis finjusteres; det er et stykke tid siden, jeg har brugt robocopy.

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

Tak for at dele dette. Jeg prøvede at bruge logik med version 2.5 for et stykke tid siden med konverteringer, og det gik grueligt galt. Jeg forsøgte derefter at fortælle MCEBuddy ikke at køre Comskip på PBS-udsendelser, men det endte med at forhindre konvertering af nogen optagelser. Hvis vi bare havde flere eksempler på, hvordan man bruger logikken i brugermanualen, ville det gøre det meget mere tilgængeligt for slutbrugeren at se eksemplerne i aktion. Jeg kan godt lide, at tilpasning er mulig, men det virker som om, det bliver komplekst, når man prøver at opsætte mere end en håndfuld konverterings- eller omdøbsscenarier. Man er næsten nødt til at gå tilbage til programmering 101 og lave et flowchart og verificere det hele til sidst.

Ja, det krævede mange forsøg og fejl at få denne streng finpudset, og heldigvis har jeg en smule grundlæggende programmeringsviden og laver meget scripting som en del af mit arbejde.

Jeg forsøgte at opdele det lidt mere visuelt, så logik-tjekkene er tydeligere. Jeg udelod den første , fordi den ikke blev formateret korrekt

%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%

Tak! Dette format er meget nemmere at forstå. Ligesom dig har jeg tidligere programmeret, men ikke lavet noget scripting. Jeg vil faktisk måske prøve at lave noget selv nu, hvor du har brudt det ned, og se, hvad jeg ellers kan finde på. Da jeg har flere computere, der kører som Plex-servere på mit netværk (rester fra tidligere år), kan jeg isolere én til at optage/gemme i en isoleret mappe og lade den isolerede MCEBuddy køre eksperimenter fra det drev uden at slette den oprindelige fil. Det vil give mig en “sandkasse” at lege i.

Men for at være ærlig klarer dit oprindelige script sig FANTASTISK! Jeg kan godt lide den rene og pæne navngivning og mappen med år. Siden jeg skiftede til dit script, har Plex gjort det rigtig godt med at finde den korrekte metadata.

Bare en lille FYI: Kodi og Plex er virkelig fede at bruge sammen med dine PVR-maskiner. Jeg har dog bemærket, at du skal slå tvdb- eller imdb-id-nummeret op for at få et ordentligt match af metadata i forskellige programmer. Jeg kan godt lide tinyMediaManager til at hente diverse add-on-information som rolleliste, omdøbning og tjek for fuldstændighed. Jeg tror, mit største problem har været at matche premiereåret, da shows “reboote” hver 20.-25. år med samme navn. Jeg er endt med at adskille alle felter med et punktum, bruge parenteser kun til premiereåret og – vigtigst – Sæson og Episode (S00E00), efterfulgt af kort episodebeskrivelse, hvis intet andet matcher. Jeg burde sætte premiereåret i mappenavnet, men i sidste ende har jeg det i filen, så jeg behøver det ikke til mappen.

Her er mit navngivningsmønster for **tv-serier**:
%showname%\\%showname%.(%premiereyear%).S%season%##E%episode%##.%episodename%

Hvis du har en bedre løsning til at trække de korrekte metadata, så sig endelig til. Jeg ønsker også, at Kodi var en klient-server-model, så min Fire Stick ikke skulle hoste alle filerne – eller måske læse metadata ved brug og slette det igen, når filen lukkes. Det er dog ikke designet til det, så jeg gav op og nøjes med minimum metadata, medmindre jeg bruger en rigtig computer med Kodi.

Tak Frank, jeg vil tjekke dette script ud i min “Sandbox” ved hjælp af Plex og se, hvordan det går. Jeg bruger Kodi fra tid til anden, men har brugt Plex i mange år, hvor jeg købte et livstidsabonnement. Plex bliver SÅ meget bedre end i de tidlige år.

Dette ser ganske nyttig ut, men jeg tar ikke ofte opp filmer – mest TV-programmer, hovedsakelig fra PBS – noe som fører til problemet at dette kanskje kan modifiseres for å rette opp.

Hvis jeg tar opp et program som «Unforgotten», et britisk TV-program som PBS insisterer på å kalle «Unforgotten on Masterpiece», som ikke eksisterer når det slås opp i TVDB. Hvordan kan dette eller et lignende skript brukes til å fjerne «on Masterpiece» og bare beholde det faktiske navnet på programmet?

Det er muligt ved hjælp af en simpel erstatning eller den nye regex-funktion, vi tilføjede til korrigering af metadata.

Hvis alle navnene er identiske, og du bare vil rette dem på samme måde, skal du bruge den simple erstatnings- og korrigeringsfunktion. Konverteringsopgave → Ekspertindstillinger → Korrektion

image

Hvis titlen bliver ved med at variere lidt, se dette indlæg for detaljer om, hvordan du matcher og erstatter titlen ved hjælp af regex.

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

Hvis du ikke er bekendt med regex, skal du bruge AI-botten i den øverste bjælke, og du kan bede den om at oprette en regex, der matcher dine specifikke titelvariationer, og bruge regex-erstatningsfunktionen til at udtrække det korrekte match.