Thanks to all who have already replied here! Apologies I didn't think to specify this in my original post but an important detail here is that I need to make sure that no consecutive files play ever. With many of the objects helpfully suggested above, there is a risk that the last number in a random sequence will be the same as the first number of the next random sequence. I understand this has already been discussed above but seems worth mentioning here.
Sadly the example random-wo-repitition.pd produces occasional repeats when it restarts the sequence.
Something like the 3rd argument on motex/shuffle would be ideal. However, I am using pd 0.56.2 on a raspberry pi 5, and motex is not available to me via deken for this architecture.
@porres thanks for adding the hold feature to else/rand.u - I downloaded the latest else library and I don't think the external has been updated yet for pi/linux? I don't see the hold argument on the list in the help window for the object.
If this isn't going to be feasible on my architecture I think a good alternative would be for me to create a long list of numbers without repeats and prompt these in order with a bang: can anyone recommend an object that will do this and loop back around to begin the sequence again once it has finished? This would at least create the illusion of randomness, as I could make sure it doesn't repeat.
Thanks again to anyone who can help with this!