Instructions
Download and run py3DSorter.exe for Windows users. For non-Windows users however, extract the scripts attached to this thread and run it from Python IDLE 3.4, tkinter could not be ran normally.

That way it moves all files to the temp dir first, and then move back in order.

Another suggestion is to use os.path.join function to join paths, it works better than using +

Click to expand...

Thank you for a feedback, I have implemented the change. This looks like a more refined way of doing things, however, I couldn't help but notice that it takes a split of a second longer to complete the operation.

Thank you for a feedback, I have implemented the change. This looks like a more refined way of doing things, however, I couldn't help but notice that it takes a split of a second longer to complete the operation.

Click to expand...

Are you sure? How did you measure? It shouldn't take longer, as the number of operations is the same in the end - only the order changed.

Ok, i tested all possible file attributes changing and it seems that GW uses the same Sorting algorithm of GetFiles() func of .NET Framework 3.5 [ https://msdn.microsoft.com/en-us/library/4cyf24ss(v=vs.110).aspx ] so i don't know why but only physically deleting the file and replacing it could change their loading order. :/
Anyway, doing my tests, i create a quite similar program to py3DSorter in VB.Net.

Click to expand...

You don't have to delete the file. Just moving all files to a separate folder and moving them back in order does the trick. It is also faster than a copy, since the data is not actually moved, only the name of the file in the allocation table gets changed, so it is really fast.

You don't have to delete the file. Just moving all files to a separate folder and moving them back in order does the trick. It is also faster than a copy, since the data is not actually moved, only the name of the file in the allocation table gets changed, so it is really fast.

Click to expand...

By deleting i want to say this infact Gateway Sorter use the same method to update sorting list.