Fix #522: treat copy/move args as dirs and process items accordingly