Jasne, że można, i to łatwo - tylko diabeł tkwi w szczegółach i nikt na ślepo nie zaproponuje dokładnego rozwiązania.
Do tego co napisałeś, na przykład szybciutko napisałem kompletnie na sucho coś takiego w Pythonie (ale można też w bashu lub czymś innym):
import shutil
import os
os.mkdir('temp')
for i in range(10000):
src = str(i)
to = str(1 + (i-1)//50) # 1->1, 2->1, ..., 50->1, 51->2, ...
os.makedirs('temp/'+to, exist_ok=True)
shutil.move(src, 'temp/'+to)
Co prawda robi te katalogi 1-200 w bocznym `temp/`, ale to już mozna trywialnie z ręki przenieść na inny poziom.