批处理文件在启动时无法正常工作

Posted

技术标签:

【中文标题】批处理文件在启动时无法正常工作【英文标题】:Batch File Not working correctly at startup 【发布时间】:2019-03-04 20:10:05 【问题描述】:

所以我写了一个批处理文件来在 5 秒后打开和关闭一个应用程序(在 Windows 7 中)。代码如下:

 if "%1" == "" start "" /min "%~dpnx0" MY_FLAG && exit
 @echo off
 cd "C:\Users\owner\Downloads\"
 Start "" /b ThrottleStop.exe 
 timeout /T 5 /nobreak >nul
 taskkill /IM ThrottleStop.exe /F
 exit

我现在将举例说明什么时候可以正常工作,什么时候不能正常工作:

测试 1:通过单击运行批处理文件。 结果:命令提示符打开,代码运行,应用程序打开并在 5 秒后关闭。本次测试成功。

测试 2:在启动文件夹中放置同一个批处理文件的快捷方式,以便在每次登录时执行。 结果:登录后,命令提示符打开并开始运行。但是应用程序永远不会打开,批处理文件只是退出。本次测试失败。

测试 3:设置任务计划程序以在每次登录时执行批处理文件。登录后,命令提示符打开并开始运行。但是应用程序永远不会打开,批处理文件只是退出。本次测试失败。

在测试 2 和 3 之后,我尝试再次手动运行它并且它正确执行。所以问题只是在启动时自动运行它。由于某些进程尚未启动(在 Windows 端),它是否可能需要延迟?

【问题讨论】:

“工作正常”和“不能正常工作”之间究竟有什么区别?您应该使用tour 并阅读How to Ask。根据您的描述,它似乎正在做它应该做的事情。 请重新阅读帖子。我在这里清楚地说明了问题:如果我在启动文件夹中放置一个快捷方式或使用任务计划程序运行它,我会在 CMD 提示符中收到以下消息:“成功:PID 2216 的进程“ThrottleStop.exe”已终止。”标题“”中也清楚地说明了问题,所以我不确定您对什么感到困惑。 是的,我读到了。很明显 ThrottleStop.exe 已被终止,这似乎正是您的脚本所做的,启动然后终止该进程。取tour,阅读How to Ask。 Edit 您的帖子包括预期和见证的输出。解释为什么成功杀死 ThrottleStop.exe 不是您预期的行为。 @David,我们都不知道您期望发生的事情没有发生。请进一步解释。 我已将我的问题编辑得尽可能清晰。 【参考方案1】:

如果您希望 ThrottleStop 在启动 5 秒后退出,请将此行添加到 ThrottleStop.INI 配置文件中。

退出时间=5

如果您想知道如何正确使用任务计划程序,请完全按照 ThrottleStop 任务计划程序指南进行操作。任务计划程序中有一些选项需要禁用。

http://forum.notebookreview.com/threads/the-throttlestop-guide.531329/#post-6865107

【讨论】:

是的,我以前读过这个论坛,但问题是我没有看到立即杀死应用程序的好方法。这也是一个很好的解决方案,虽然我希望我理解为什么在登录时自动启动批处理不能正常工作。

以上是关于批处理文件在启动时无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

如果文件夹名称包含Unicode字符,批处理无法正常工作

如果我从新的命令提示符重新运行,批处理文件无法正常工作

批处理文件无法正常工作,找不到我的错误[关闭]

ASHX 处理程序无法与我的网络外的客户端正常工作

VBS脚本运行批处理文件,不在启动时运行[重复]

在带有其他命令的块内时退出 /b 无法正常工作