After reading this post, I'm guessing you want one variable to hold all the file names as if it were a collection. You can accomplish this by concatenating the files/dir names out of the FOR:
call set list=%list%%%a
Unfortunately, the result will be one long string. Unless you're running MS-DOS as your operating system and have access to the ANSI.SYS driver, there is no way to insert CRLF (carriage return/linefeed) characters between the file names in batch language.
Try using one of the Windows scripting languages where you have access to functions to represent the CRLF characters.
8-)