Das ist keine binarische Sortierung, sondern eine String-Sortierung (Sortierung nach Zeichen). Bei einer Sortierung nach Namen werden (bei allen System die mir jetzt einfallen) die Zeichen von links nach rechts durchlaufen, abgeglichen und danach sortiert.
Bei einer Sortierung nach Zeichen kommt 100 vor 2, da 1 < 2. Du möchtest eine gemischte Sortierung haben. Alles was Text ist soll nach Text sortiert werden und alles was eine Zahl ist soll nach einer Zahl sortiert werden. Dies funktioniert so nicht, da der Dateiname ein Textfeld ist.
Du müsstest im Dateinamen die Zahlen dreistellig angeben. Also nicht Foto 1, Foto 2, .., sondern Foto 001, Foto 002, ..., Foto 010, ..., Foto 100.