Confused about synchronous internal comands

Internal commands always run synchronously

That's not entirely true, as there are some exceptions like the Find command. Something we need to improve on that page of the manual.

If the aim is to find files matching a filter to use in the rest of the script, doing it via the script itself may be the best thing. DOpus.FSUtil.ReadDir can get you a list of everything below a directory (recursively, if specified) and the wildcard and metadata objects can be used to do most types of filtering.