0

我已经安排了一个批处理文件在午夜运行。

  • 它拥有最高的特权,
  • 它以管理员身份运行并存储密码,与用户是否登录无关
  • 环境设置为windows 2012
  • 启动时使用批处理文件的文件夹。

批处理文件位置和启动文件夹分别:

c:\ip\ip1.bat
c:\ip\

批处理文件内容:

taskkill /im python.exe /f >nul 2>&1
taskkill /im chrome.exe /f >nul 2>&1

timeout 5
netsh interface ipv4 add address "Ethernet" 104.122.112.106 255.255.255.0

timeout 5
::netsh interface ipv4 delete address "Ethernet" 104.122.112.106
netsh interface ipv4 delete address "Ethernet" 104.122.112.107
netsh interface ipv4 delete address "Ethernet" 104.122.112.108

timeout 40
start /min "" python.exe C:\Users\Administrator\Desktop\host\server2.py

timeout 10
start /min "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\chrome1" --js-flags="--expose-gc"

如果手动启动,上述批处理可以完美运行。

但是,每当任务调度程序启动上述文件时,它只会部分执行。

发生的情况是 python 和 chrome 进程都被杀死但没有重新启动。

然而,任务调度程序报告上次运行结果成功(0x0)。

我非常感谢您的帮助和建议。

编辑:

实际上,这两个进程都已启动!

但是它们是在后台运行的,也就是说,我在任务管理器中看到它们,但我无法以任何方式与它们交互。

4

1 回答 1

0

设置选项“仅在用户登录时运行”实际上解决了这个问题。

我一直在尝试避免使用此选项,因为我使用 RDP 连接到服务器,并且无法 24/7 保持连接。尽管如此,当断开我的 RDP 会话时,“管理员”用户仍然保持登录状态,并且任务调度程序无论如何都会执行程序。

另一个问题仍然存在,启动命令忽略了/min开关,并且启动的进程没有最小化到任务栏。

我发布了另一个问题:Cmd start command ignores /min switch

于 2017-04-01T17:34:20.230 回答