operations/movefile
is limited to a file, that's correct. sync/move
, on the other hand, is the direct equivalent of rclone move
, so, by default it will move everything in the srcFs
, but there's no reason you couldn't filter this down to individual files if you wanted to.
You could use filter rules to include/exclude specific subdirectories (think --filter-from
, not --files-from
) (and shameless plug for my own genfilters
tool to help generate them)
However, in your specific case, I think you'd be better off keeping your loop. The reason is because sync/move
behaves differently when filters are in use. Without filters, you can take advantage of server-side moving at the directory level, if supported by your remote. Whereas if any filters are in use, it will server-side move each individual file in the directory. The end result should be the same, but it's not as efficient.