As you are also attempting to work with folder paths, you will need to "escape" each of the paths backslashes "". To do that, add a backslash before (or after) at each backslash of the path name. The path you are specifying will also need an additional set of backslashes at the end to make it a folder name.
To get the current drawing name, you will need to use the GETVAR function.
(getvar 'dwgname)
The string you are attempting to make needs to be done using the STRCAT function.
Code:
(strcat "D:\\temp\\" (getvar 'DWGNAME))
After that, you can then supply that to your defun,
Code:
(defun c:s ()
(command "save" "" "save" (strcat "D:\\temp\\" (getvar 'DWGNAME)))
)
I believe this contains no errors, but I also haven't tested it.