The reason why only the directories were copied when you used the command robocopy "c:\source" "e:\destination" a b c d /e /copy:dat is because the /copy:dat switch tells Robocopy to copy only the Data and Attributes of folders. To copy all files, including program files, you need to use the /copy:datsou switch.
The /copy:datsou switch tells Robocopy to copy all file attributes, including NTFS security permissions. This will also copy all files, including program files.
The command you used to copy only the directory a also included the /e switch, which tells Robocopy to copy subdirectories, including empty ones. This is why the other directories were also copied.
To copy only the directory a and its contents, you can use the following command:
robocopy "c:\source" "e:\destination" a /copy:datsou
<removed>