Not sure, if I understand you. As I wrote, subdirectories are created.
So if you execute:
synchronize remote c:\web /home/username/httpdocs only the
httpdocs needs to exist.
c:\web\images, but not
images subfolder is created.
I believe OP desires functionality same as GNU coreutil's "cp --parents"
Form the name of each destination file by appending to the target directory a slash and the specified name of the source file. The last argument given to cp must be the name of an existing directory. For example, the command:
cp --parents a/b/c existing_dir
copies the file a/b/c to existing_dir/a/b/c, creating any missing intermediate directories.
Using your example,
mkdir c:\web; cd c:\web
synchronize local -parents c:\web /home/username/httpdocs
if c:\web\home\username\httpdocs does not exist, then
mkdir home; mkdir home\username; mkdir home\username\httpdocs;
get /home/username/httpdocs/* c:\web\home\username\httpdocs
synchronize c:\web\home\username\httpdocs /home/username/httpdocs
It is similar to my request of creating empty directories, https://winscp.net/forum/viewtopic.php?t=14131
only implemented at the scripting level. Essentially it allows for retaining a directory structure without having to transfer all parent sibling objects. My desire for this at the GUI level is a user can slowly recreate a remote directory structure on their local drive slowly, as needed. Which makes it easier to synchronize if they have already grabbed a few sub-folders of a target sync directory.
I can see this being a useful enhancement.
As an initial progression to get this functionality included, perhaps a workable goal would be a
Thank you for all your hard work on this program!