大家早上好,我是 Windows 2008 sa 的新手,遇到了一个奇怪的问题。
我制作了一个非常简单的 bat 文件,用于停止 Apache HTTP 服务器、复制文件,然后重新启动 Web 服务器(是的,这很愚蠢,但这就是他们给我的)。现在,bat 可以正常运行,但如果我安排它,无论我为该进程赋予什么权限,它都不会运行。
为了确保万无一失,我制作了另一个脚本,该脚本应该创建一个目录,并且它再次正常运行,但不是作为计划任务运行。
我哪里错了?谢谢。
答案1
尝试在任务计划程序中运行带有错误重定向的批处理 example.bat 2>>c:\Folder\Errors.txt >>c:\Folder\Run.txt
并更改批处理文件,以便每次都能获得输出(添加两行)
echo %time%
echo %time% >>&2
如果两个文件中都只有一行,则说明批处理没有输出,但正在运行。如果两个文件中都没有输出,则说明需要更多权限...
顺便问一下,您是否单击了任务计划程序库中的“以最高权限运行”和“无论用户是否登录都运行”?
答案2
任务计划程序中的运行结果是什么?是否显示 (0x0)?
在操作选项卡中,您在“程序/脚本”中输入了什么,在“参数”中输入了什么,在“开始于”中输入了什么?
通常应该使用 cscript.exe 启动批处理文件,并且该文件是参数。
此外,由于您使用的是 Windows 2008 R2 服务器,我建议使用 powershell 而不是批处理文件。
答案3
我解决了这个问题。
这些脚本来自 Windows 2003 Web 版操作系统,并且它们在原来的“同一目录中”执行,似乎在 2008 R2 中它们是在 system32 目录中运行的,所以我不得不使用绝对路径。
现在一切都已解决,无论如何感谢您的建议。