如果打印输出,Windows服务不会执行.bat脚本

时间:2016-09-08 11:43:40

标签: c++ windows batch-file service popen

我有C ++ Windows服务,通过popen函数执行批处理脚本。

FILE *fp;
fp = popen( "C:\\temp\\script.bat", "w" );
fclose(fp);

script.bat只执行重定向到文件的echo命令。

echo Hello > c:\temp\output.txt

但是在通过服务output.txt文件执行此脚本后,不是创建了(但是生成了新进程 - 例如,我可以通过Process Explorer看到它。)

当然,如果我像处理那样执行这个c ++代码,它就能正常工作。

但是让我们回来服务吧。有趣的是,如果我将 @echo off 添加到script.bat中,那么即使作为服务,一切都能正常工作(我的意思是创建了output.txt文件)。

@echo off
echo Hello > c:\temp\output.txt

是否与某些策略相关,Windows服务无法执行打印输出的脚本?或者我应该配置什么?

0 个答案:

没有答案