我知道这与this SO question非常相似,但是我已经修改了脚本以执行我想做的事情,并且当我运行批处理文件时,它刚在进入公司后按Enter键就关闭了ID。
我需要检查批处理脚本运行时用户输入的公司ID是否有效。我在脚本的其他地方使用了用户输入的值,所以我确定这是正确的,但是我不明白为什么脚本不能按原样运行。
这是我的剧本:
@SETLOCAL ENABLEDELAYEDEXPANSION
@ECHO OFF
ECHO Enter the Company ID the data is for
SET /p _COMPANYID=Company ID:
SET _INSTANCE=someinstance
SET _DATABASE=somedb
for /f %%a in (
sqlcmd -b -S %_INSTANCE% -d %_DATABASE% -E -l 2 -Q "SET NOCOUNT ON; select count(*) from glb_companies where companyid = %_COMPANYID%"
)
do set _RESULT=%%a
echo %_RESULT%
@pause
我尝试了带或不带单引号的sqlcmd行。我在sqlcmd中使用的开关是我在其他地方使用的开关,我也尝试过使用其他SO帖子中的开关。对我来说什么都没有。