【发布时间】:2014-11-03 15:47:41
【问题描述】:
我可以从命令行运行 my.exe。我可以从 .bat 运行它。但是,当我尝试在 SQL Server 中运行它们时,.exe 似乎永远不会运行。
exec master..xp_cmdshell '\\fs01\filefolder\runpgm.bat'
这确实会运行 .bat,但它运行的 .exe 永远不会运行。
echo %date% %TIME% >> \\fs01\filefolder\test.txt
\\fs01\filefolder\CallClickSoftWS.exe >> \\fs01\filefolder\test.txt
echo %date% %TIME% >> \\fs01\filefolder\test.txt
echo "Done" >> \\fs01\filefolder\test.txt
exit
如果我从命令行运行 '\fs01\filefolder\runpgm.bat' 那么它工作正常。
【问题讨论】:
-
@closer ,您的投票不成熟。这是一个纯粹有效(有趣)的问题。
-
根据我的经验,它应该可以工作。运行它并告诉我们结果是什么
EXEC master..xp_cmdshell 'whoami -
尝试在你的 bat 开头添加 "pushd "%~dp0" " 并在文件末尾添加 "popd",如果它解决了问题,请告诉我们
-
whoami 工作并给出两行:cpi\sqlsvc NULL
-
pushd 和 popd 似乎没有做任何事情。
标签: sql-server exe xp-cmdshell