I have a rather large library of movies gathered over the years (all entirely legally I assure you officer). I’m in the process of setting up a Jellyfin server so I can stream them on the go.

Currently it’s just one folder full of individual files but Jellyfin wants each movie within it’s own folder.

Is there a command, or set of commands, that would do this all in one go? ie iterate my way through a folder, create a new folder with the same name as a file, move that file into this new folder and repeat a few hundred times.

I am using Cachy OS (arch) and have Dolphin and yazi as file managers if that helps. I guess a bash script would be the best way to achieve this but my skills are quite rusty.

    • vithigar@lemmy.ca
      link
      fedilink
      English
      arrow-up
      5
      ·
      29 days ago

      This isn’t strictly necessary. My movies library is a mix of both loose files and folders and works just fine.

      • Onomatopoeia@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        5
        ·
        29 days ago

        As your library grows, or becomes more complex, or contains anything that’s difficult to differentiate, Jellyfin will struggle to properly identify.

        With well-named folders (release date, imdbid), my Jellyfin server still has issues where it will mis-identify some things that arent mainstream. Old movies are specifically problematic, as are rare titles that have any similarity to something more popular.

        Using the folder naming structure reduced mis-identification tremendously.

        • vithigar@lemmy.ca
          link
          fedilink
          English
          arrow-up
          2
          ·
          27 days ago

          Well, yes, but you can get exactly the same result by having well-named files as well. Having them well-named in general makes identification more reliable, regardless of whether it’s the full path or just the filename.