# Concatenate Parameters > [HTML Version](concatenateparameters.htm) The DO file processor supports a mechanism for concatenating parameters on the command line before they are bound to the \$0 thru \$9 formal parameters. The syntax consists of prepending \$+ to the start of a parameter that you want to combine with the prior parameter. For example, consider a generic dothis.do file consisting of the following command: HOST \$0 \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 If you executed it with: .DOTHIS play ina \$+gada \$+davida real loud The resulting host command would be: play inagadadavida real loud Note that "real" and "loud", which started out in positions \$4 and \$5, got shifted by the concatenation down to \$2 and \$3. You can also use the \$+ operator in the middle of an argument to avoid the argument renumbering problem just described, i.e.: .DOTHIS play ina\$+gada\$+davida real loud In this case, it is more clear that there are only 4 arguments (\$0 thru \$3) being passed to DOTHIS. This technique is mainly of interest in conjunction with \$KBDn variables and the UCS/LCS functions where you may want to concatenate some folded keyboard input with a hardcoded value, and doing do so directly would interfere with the interpretation of the \$KBDn and LCS() / UCS() syntax. For example: :R : :K0 : :K1 DOTHIS /vm/miame/bin/ \$+LCS(\$KBD0) -i /vm/miame/ \$+LCS(\$KBD1) Assuming the user input "ASHELL" to the first prompt and "MIAME.INI" to the second, then the dothis.do file would execute: HOST /vm/miame/bin/ashell -i /vm/miame/miame.ini Without the concatenation, the user would have had to enter the entire paths or do without the LCS() function.