Использование другой оболочки вызывает это.
У меня просто так было при запуске sqlcmd через powershell. Перешел на использование cmd.exe и все заработало
двойные кавычки для экранирования ":" и одинарные кавычки, чтобы sql рассматривал значение переменной как строку. например,
sqlcmd -S. -d myDb -i. \ test.sql -v pathToFile = "'D: \ Temp \ temp \ My.csv'"