yes you would, the way i structured it it got the last two things, which is what he wants
if the filename was C:\hi\my\name\is\bob\and\i\like\polka\dot\hippos\yay.mp3
it would return hippos\hey.mp3
if the filename was c:\hi\oh.mp3
it would return hi\oh.mp3
Edit wait i see what you mean
And i havent been clicking for 4 yers for nothing. 
i believe what your trying to say is that if you want to return more than the last two file/folder you can but you cant change it dynamically. WELL you are wrong 
loops, magical things they are.
so the code would be.
start loop "file name" number of subfolders time
and set counter to number of subfolders.
than on loop "file"> set string A TO
global string A+"\"listGetAt$( "String Parser", listCount( "String Parser" )-value( "Counter" ))
and subtract 1 from counter.
i realise this will create an extra "\" at the first loop, but can easily be worked around. or used, i believe with the Appath$ function
this will return all the subfolders you would like