Лучшее, что я смог найти, был этот подход, который казался действительно глупым.
:setvar quot "'"
declare @versionString nvarchar(300)
set @versionString =
$(quot)
:r .\version.txt
$(quot)
insert into dbo.DeployVersion ([Version],[Date],[User]) values ('$(version)',getdate(),'xyz')
Это работает в чисто SQLCMD и является ответом на оригинальный вопрос.
Однако это используется при развертывании sqlpackage, и я не вижу способа ссылаться на файл version.txt извне из dacpac.Поэтому вместо этого я добавил переменную в проект dacpac и указал это значение в командной строке, используя sqlpackage ... /Variables:Version=%someValueReadFromBatFile%