首页 > 解决方案 > SQL Server 的命令行执行未找到 CMD 变量

问题描述

我正在尝试让 SQL Server 代理作业在命令行中执行以下代码。它将变量设置为 SQL Server 实例的服务器名称,以便它可以访问 UNC 路径并运行可执行文件。当我通过 RDP 在命令行中在服务器上运行它时,可以找到这条单数行,但在 SQL Server 中作为操作系统(CmdExec)类型运行时会失败。该行是:

FOR /F "usebackq" %i IN (`hostname`) DO SET _exeCall=\\%i\test\test1.exe && %_exeCall%

日志的结果是:

C:\Windows\system32>SET _exeCall=\\testbox\test\test1.exe   && _exeCall
'%_exeCall%' is not recognized as an internal or external command,
operable program or batch file.

这台机器的标题是正确的testbox,路径和可执行文件都正确,但它似乎不明白它应该在执行变量_exeCall。这在服务器上以命令行方式执行时可以正常工作,但不能通过 SQL Server 的命令行工具执行。

标签: sqlsql-servercmdcommand-line

解决方案


推荐阅读