Это работает:
SET server=MyServer
SET db=MyDb
FOR /F "usebackq tokens=1" %%i IN (`sqlcmd -S %server% -d %db% -w200 -h-1 -E -Q "set nocount on; select REPORTING_DATE FROM dbo.CURRENT_REPORTING_DATE"`) DO set REPORTING_DATE=%%i
ECHO The Reporting Date is %REPORTING_DATE%
Но когда я пытаюсь полностью определить путь к sqlcmd ...
SET sqlcmdexe="C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" SET server=MyServer SET db=MyDb
FOR /F "usebackq tokens=1" %%i IN (` %sqlcmdexe% -S %server% -d %db%
-w200 -h-1 -E -Q "set nocount on; select REPORTING_DATE FROM dbo.CURRENT_REPORTING_DATE"`) DO set REPORTING_DATE=%%i ECHO The Reporting Date is %REPORTING_DATE%
Я получаю ошибку:
Система не может найти указанный путь.
... предположительно из-за пробелов в имени папки.
Как изменить путь на путь тильды (без пробелов) или лучшеТем не менее, процитируйте его так, чтобы этот оператор выполнялся правильно?
Обратите внимание, что перед% sqlcmdexe% есть обратный тик, не знаю, почему я его не вижу, по крайней мере, в IE6.Да, 6!