All DOS versions interpret certain characters before executing a command. However, this can be very dangerous when writing more advanced scripts when checking the ERRORLEVEL becomes important as setting set /p= without specifying a variable name will set the ERRORLEVEL to 1.. A better approach would be to just use a dummy variable name like so: Some well know examples are the percent sign ( % ), and the redirection symbols ( < | > ). Escape Characters. Windows 95/98 and NT, and OS/2 too, also interpret double quotes ( " ) and ampersands ( & ), as shown in the Conditional Execution page. Using: echo | set /p= or