我有一个包含此代码的批处理:
set /p carga= ¿Carga inicial o carga diaria?
if "%carga%"=="c" (
sqlcmd -Q "exec dbo.SP_OFB_INF_PSN @VALOR = 1, @FECHA=''" -S (local) -d bd_ofb -o OFB_INF_PSN_2.txt
)
但我有这个错误
-d此时出乎意料
如果我离开IF
的外面,则没有错误代码
sqlcmd -Q "exec dbo.SP_OFB_INF_PSN @VALOR = 1, @FECHA=''" -S (local) -d bd_ofb -o OFB_INF_PSN_2.txt
答案 0 :(得分:0)
您可以像Stephan提议的那样转义结束括号(使用^)
),也可以使用延迟扩展并将语句设置为变量:
setlocal enableDelayedExpansion
set /p carga= ¿Carga inicial o carga diaria?
set "statement=sqlcmd -Q "exec dbo.SP_OFB_INF_PSN @VALOR = 1, @FECHA=''" -S (local) -d bd_ofb -o OFB_INF_PSN_2.txt"
if "%carga%"=="c" (
!statement!
)