'Why recursive copying creates wrong folder structure if some parts of path are missing?

I build AWS SDK CPP and copy include files using -Force option. When copying does not find some folders in path, it creates but first time when it creates, some folders are skipped. Here is concreate case. For example ws-cpp-sdk-transfer.
I run command

Copy-Item -Path C:\Dev\aws_sdk_cpp\aws-sdk-cpp\aws-cpp-sdk-transfer\include\* -Destination sdk\include -Recurse -Force

Copied folder content is

c:\Temp\sdk\include\transfer\TransferHandle.h
c:\Temp\sdk\include\transfer\TransferManager.h
c:\Temp\sdk\include\transfer\Transfer_EXPORTS.h

I run same Copy-Item again and now folder content is

c:\Temp\sdk\include\aws\transfer\TransferHandle.h
c:\Temp\sdk\include\aws\transfer\TransferManager.h
c:\Temp\sdk\include\aws\transfer\Transfer_EXPORTS.h
c:\Temp\sdk\include\transfer\TransferHandle.h
c:\Temp\sdk\include\transfer\TransferManager.h
c:\Temp\sdk\include\transfer\Transfer_EXPORTS.h

As you see, subfolder aws is created with correct structure.
If I precreate folder sdk\include\aws first copying works fine.
Why folder structure is not maintained when creating it for the first time?

Edit
Content to be copied

C:\Dev\aws_sdk_cpp\aws-sdk-cpp\aws-cpp-sdk-transfer\include\aws\transfer\TransferHandle.h
C:\Dev\aws_sdk_cpp\aws-sdk-cpp\aws-cpp-sdk-transfer\include\aws\transfer\TransferManager.h
C:\Dev\aws_sdk_cpp\aws-sdk-cpp\aws-cpp-sdk-transfer\include\aws\transfer\Transfer_EXPORTS.h

Copied files when sdk\include\aws exists

c:\Temp\sdk\include\aws\transfer\TransferHandle.h
c:\Temp\sdk\include\aws\transfer\TransferManager.h
c:\Temp\sdk\include\aws\transfer\Transfer_EXPORTS.h

Copied files when sdk does not exists. Please notice: aws is missing.

c:\Temp\sdk\include\transfer\TransferHandle.h
c:\Temp\sdk\include\transfer\TransferManager.h
c:\Temp\sdk\include\transfer\Transfer_EXPORTS.h

When I remove trailing \* from source path, output is always the same and result is as I expected.

Copy-Item -Path C:\Dev\aws_sdk_cpp\aws-sdk-cpp\aws-cpp-sdk-transfer\include -Destination sdk\include -Recurse -Force


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source