timppu: I have 2399 games on GOG, downloading only the English Windows versions + extras. Those alone take something like 10 terabytes or even more already, so it isn't because I'd try to download all language versions and Linux + Mac too.
Also some extra space is needed for the orphaned (old) files which gogrepoc clean moves to a specific directory.
I earlier divided the downloads half and half to two 5TB USB HDDs. When it became harder and harder to fit them to those, I bought a 18TB USB HDD. I hope it will last for some time.
So, can you e.g. tell your script "download the first 800 games + extras to this path, then the next 800 games to path2, and the rest to path3", or how does it work?
Fundamentally, the scripts (batch files) that I have there just "pre-load" the command line for the downloader. For example in my "windows" version:
1 GOGREPOC="python3 $PWD/gogrepoc.py"
2 PLATFORM="windows"
3 LANGUAGE="en"
4 LIBDIR="$PWD/games/windows"
5 cp gog-token.dat $LIBDIR/
6 cd $LIBDIR
7 $GOGREPOC update -full -os $PLATFORM -lang $LANGUAGE
8 $GOGREPOC download -os $PLATFORM -skipextras
9 $GOGREPOC verify -os $PLATFORM -skipextras
10 cd ..
The first 4 lines are just variables to make it easier for me to tweak (only have to change things in one place). The first one (GOGREPOC) is the base command - pwd is the linux command for "present working directory" - I use absolute paths. So the windows equivalent would be: python3 d:\gogrepo\gogrepoc.py Which assumes you're running the program from the directory "gogrepo" on your D:\ drive
LIBDIR is where I want the downloads to go.
Line 5 copies the token to the downloads directory
Line 6 changes directory into LIBDIR
Line 7 updates the manifest for the specific platform and language
Line 8 does the downloading
Line 9 verifies
Line 10 changes directory up 1 level (which I just noticed is a holdover from a previous version) so ignore it. It should go back to the original directory
Now according to Kalanyr's github, "savedir" is a command line switch that should accomplish the "where to put the downloads" piece. I haven't tested it yet.
To do what you are talking about (only the first 500 games, 501 to 1000, etc) you would either manually keep splitting the manifest, or modify gogrepoc.py to add 2 new command line options: Number to download and where to start.
There are over 100 forks of Kalanyr's program; and most look abandoned. Basically what you're looking to do here would be to put a few loops and checks into the program. You don't have to be a python expert to do that. Take the code and play with it. When you get it working the way you want, upload it either here or on github for Kalanyr to see if it should be added to the main branch.
Sorry if that last part come across as curt, it's not intended to be. I would do it myself, I just don't have the time at the moment