TLDR: Is there a way I can just choose files to seed automatically instead of downloading again first?
Pretty new to using torrents and I have a bunch of files I’ve been able to download over time through magnet links. Some of which I was unable to seed for long periods of time so removed but would like to be able to still seed them again.
It doesn’t look like I have torrent files for them and I tried copying the. Torrent file to another folder when using magnets to see if I could get it from that. I was able to get some from that but it seems to just start a Download again. Can anyone explain this process a little bit better for me so I can offer up my files at later times too?
You’re wrong, partially. Stand by while I illustrate.
File names are not included in content hashes.
Let’s first see how a torrent file is created, using quick-and-dirty bitmaps I just drew. File sizes will be in whole MiB (1 MiB = 1 pixel width) for convenience.
🚧 UNDER CONSTRUCTION 🚧
So you have a file tree you wanna share.

The client will arrange the files in some order. I think you can create a valid torrent file with any ordering but let’s just assume it’s by path, alphabetical. (We are supposing each file is a whole number of MiB, in reality it can be any whole number of B)

Now file contents are concatenated.

Then split into 14MiB chunks (in practice 2, 4, 8 or 16MiB but I forgot to account for border while drawing lol) and zero-padded (grey) to fill the last chunk.

v2 .torrent files can be aligned (where large files always start at chunk border) but this is not allowed/encouraged in most trackers due to hit-and-miss support by clients.
Now a hash is calculated for each chunk, creating a hash map. I’ll assume you know what hashing is.

The file list, hash map, tracker info and other data I didn’t bother drawing gets packed into the .torrent file. On private trackers, each user will send a unique user ID as a parameter of the announce URL so that transfers can be tracked and users get credited for seeding.

🚧 FOR INTERNAL USE 🚧 cuz I'm too lazy to transfer the text to my PC using a more reasonable method
Externally, You can also omit .nfo files etc. but the whole chunk will not be seeded because
So when I download only some files from a torrent, it’s likely that I can’t seed all of those files to the next person? I have done partial leeches before and left them seeding under the impression that I could at least seed exactly those files if anyone else wanted them. If that’s impossible (or at least unlikely to work because of chunking), then I might download the whole thing next time (or just leave the swarm).
Your client must have downloaded entire chunks, including parts of adjacent files to those you wanted. I think most clients will discard them but it’s possible they are stored somewhere hidden to enable seeding them again. Pretty much every client will tell you something like “66 chunks (have 11)” and/or progress on a per-file basis, from which you can deduce which of these behaviors is used. Badly written ones will make a file as big as the previous episode to the one you want and fill it with zeros so that the few MiB are physically in the right spot. Obviously, that fills your drive with junk unless compression is enabled at filesystem level.
It’s always better to seed something even if it’s not an entire file. Peers are usually upload-bandwidth-limited so being another person providing just a few chunks helps download speeds. Unless you meddle with their progress files, torrent clients will not announce (offer for download) chunks they cannot reassemble. Only people who have 100% of the data are listed as “seeders” in the swarm.