[英]Command window through batch script is not stopping after execution
我在 .bat 文件中有以下脚本:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f %%a in ('sqlcmd -S RCOVSVR3742 -d FRK -E -Q "SET NOCOUNT ON;SELECT count(*) FROM [FRK].[dbo].[interface_log] where interfaceid = '1F88027F-44A0-4089-B6C2-129E9206E478' and cast(idata_stamp as date) = dateadd(dd,-2,cast(getdate() as date))
and idata is not null"')
do set ColumnVar=%%a
echo %ColumnVar%
pause
当我通过批处理脚本运行上述代码时,命令窗口不会停止。
尝试的选项:
我正在从脚本中提到的服务器运行脚本。
任何人都可以帮助我实现这一目标吗?
作为对我的评论的补充,我认为您提供的代码应该如下所示:
@Echo Off
For /F %%a In (
'sqlcmd.exe -S RCOVSVR3742 -d FRK -E -Q "SET NOCOUNT ON;SELECT count(*) FROM [FRK].[dbo].[interface_log] where interfaceid = '1F88027F-44A0-4089-B6C2-129E9206E478' and cast(idata_stamp as date) = dateadd(dd,-2,cast(getdate() as date)) and idata is not null"'
) Do Set "ColumnVar=%%a"
Echo(%ColumnVar%
Pause
请首先尝试上述操作,以确保换行符、基本批处理文件语法或批处理文件的名称不是问题。
我怀疑您可能将脚本命名为sqlcmd.bat
或sqlcmd.cmd
。 如果有,上面的代码将解决您的问题。 尽管我仍然建议您将其重命名为还不是可执行文件名的名称。
尝试在批处理文件的末尾添加exit
命令。
您可以删除该行:
setlocal enabledelayedexpansion enableextensions
并在最后添加:
exit /b An error code-Optional
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.