这是对我之前的问题(链接)的跟进。
为了进行测试,我制作了这个简单的批处理文件,以确保任务计划程序正确执行批处理文件:
cd "C:\Users\user\Desktop"
echo. 2>test.txt
所以在test.txt
桌面上创建文档后,批处理文件应该结束但它会继续运行:
有没有办法,无论是在批处理文件的末尾还是任务属性中的设置,都可以确保 cmd 进程退出?
谢谢!
这是对我之前的问题(链接)的跟进。
为了进行测试,我制作了这个简单的批处理文件,以确保任务计划程序正确执行批处理文件:
cd "C:\Users\user\Desktop"
echo. 2>test.txt
所以在test.txt
桌面上创建文档后,批处理文件应该结束但它会继续运行:
有没有办法,无论是在批处理文件的末尾还是任务属性中的设置,都可以确保 cmd 进程退出?
谢谢!
我遇到了完全相同的问题。然而,当我读到 Trevor778 在这篇文章中写的内容时,我感到被欺骗了:
我遇到了同样的问题 - 任务有效,但状态一直显示正在运行。一个简单的尝试是单击左栏中的任务计划程序库。单击操作/刷新。快速。状态更改为就绪。对我来说就是这样,任务运行良好,只是状态没有更新。希望这可以帮助。
您可以将“退出”添加到脚本的最后一行
cd "C:\Users\user\Desktop"
echo. 2>test.txt
exit
运行TASKKILL /F /IM cmd.exe
将杀死所有 cmd.exe 进程,无论它是否是生成此批处理文件的进程。这可能不是可取的行为。:-)
从您的最后一个问题来看,我猜您仍在使用 运行您的任务cmd.exe /k
,这将使该窗口无限期地打开。对于无人值守的任务,cmd.exe /c
是更好的选择。当批处理文件完成时,该过程应该结束。
在 Windows 7 上相同。将所有批处理文件放在用户运行任务的用户特定路径中的目录中
运行 programm = " cmd.exe " (没有路径)
你的演员,我的 where = " /c "C:\Users[username]\whatever\your_batchfile.bat" >> log.txt" "
“ >> log.txt ” 这样我就可以看到批处理的输出...
开始于 = " C:\Users[用户名]\whatever "
我还检查了“以最高权限运行”框
之后一切正常:)
使用以下
exit /B
您可以在 Windows 控制台区域找到更多信息,然后键入:exit/?
我找到的解决方案是在批处理文件的最后添加这一行:
TASKKILL /F /IM cmd.exe
现在批处理文件任务运行并完成后,它不再在所有正在运行的任务列表中,状态返回到“就绪”而不是停留在“正在运行”。
该命令将杀死所有正在运行的命令处理器实例,因此它可能是有害的!