How to manage publications on a local computer I would like to find a better way of naming publications which I store on my local computer as PDFs. So far I have been doing something like this:

Albano R., Sole A., Adamowski J., Mancusi L. (2014) - A GIS-based model to estimate flood consequences and the degree of accessibility and operability of strategic emergency response structures in urban areas.pdf

This presents a couple of disadvantages:


Titles can be extremely long. This causes problems in certain operating systems or software such as OneDrive. You can only have so many characters in a filename...
Not all publications can follow this format. The above is OK for journal papers and theses, but not so much for books or other kinds of publications.


I would like to have a consistent way to manage such a database. I thought of keeping the publication metadata such as authors, date of publication, type of publication and type in a separate text or excel file and naming the PDF files by ID, like 1.pdf, 2.pdf, etc. This could work, but it would require referring to and managing a spreadsheet which would contain all the meta data.

Is there a simple method or perhaps lightweight software that I can use which can help me with this sort of task?

EDIT

I didn't really like the way @Jonas Stein's script is set up, though I do owe him the inspiration and indication to use JabRef. Here's my alternative script:

import bibtexparser
import os
from shutil import copyfile

filename = 'db.bib'
out_folder = 'out'

with open(filename) as bibtex_file:
    db = bibtexparser.load(bibtex_file)

for entry in db.entries:
    print(entry['file'])
    id = entry['ID']
    file = entry['file'].split(':')[1]

    copyfile(file, os.path.join(out_folder, id)+'.pdf')


print('done')


It's much more compact and does the job.
For the filename, I use a system that I plagiarised from my PhD supervisor:

aaaadd_xxxx_jjj.pdf

where:


aaaa: name of the first author (variable length)
dd: 2-digit year of publication (fixed length)
xxxx: first word of title, minus articles and other small words (variable length)
jjj: abbreviation of journal of publication (variable length, but short)


I then use the same without the .pdf as my bibtex key (with an added :).

For example:

T. Penguin et al, a Survey of Antarctic Leasure Activities, Journal of Improbable Results, 2025

would be

penguin25_survey_jir.pdf

with the bibtex key penguin25:_survey_jir.

I like this system because:


I'm used to it
Filenames remain compact and UNIX shell friendly
The encoded information is usually enough for me to identify the paper


It doesn't cover tagging or categorising.

This applies well to journal articles.  For conference proceedings articles or books, the journal acronym is replaced by an acronym of the conference or the publisher, or perhaps the full name of the publisher; I'm not fully consistent there.  But I don't usually have entire books as PDFs anyway.