SQL command mode - unable to run command I just answered this question but never tried to run it. So I tried it.. https://stackoverflow.com/questions/53521410/sql-command-mode-sql-server-unable-to-print/53521635#53521635

and I thought if Print works then the command will run for sure but to my surprise it didn't

USE [DBName]  
        :setvar ScriptPath 'C:\Work\'
        :setvar SQLFile 'Test.sql'

         ----- commented  PRINT $(ScriptPath) + $(SQLFile)    ---- Works 
        GO
         :r $(ScriptPath) + $(SQLFile)   ---  Doesn't work 
-- throws:A fatal scripting error occurred. Incorrect syntax was encountered while parsing :r

             :r $(ScriptPath)+$(SQLFile)   ---  Doesn't work 
    -- throws:A fatal scripting error occurred. Unable to process :r command
             GO


I searched but couldn't find correct answer.

What is needed to be fixed here ?
I used double quotes in your setvar commands and removed the (+) signs from your attempted concatenation.  This worked for me

:setvar ScriptPath "C:\Work\"
:setvar SQLFile "Test.sql"

print '$(ScriptPath)$(SQLFile)'    ---- Works 
GO
:r $(ScriptPath)$(SQLFile)         ---- Works 
GO