【发布时间】:2017-04-01 16:29:17
【问题描述】:
我已安排一个批处理文件在午夜运行。
- 拥有最高权限,
- 它以管理员身份运行并存储密码,与用户是否登录无关
- 环境设置为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)。
非常感谢您的帮助和建议。
编辑:
实际上,两个进程都已启动!
但是它们是在后台运行的,也就是说,我在任务管理器中看到它们,但我无法以任何方式与它们交互。
【问题讨论】:
-
不,事实并非如此。请查看编辑...
-
那么还有什么悬而未决的问题吗?
-
是的,它们应该被最小化到任务栏,但不能作为后台进程运行!
-
因此希望批处理独立于当前登录的用户运行,同时具有当前登录用户的访问权限。您必须选择吃蛋糕还是吃蛋糕。
-
好吧,我以“管理员”用户身份登录,并且该进程也以“管理员”用户身份运行。我不明白为什么这是一个限制。
标签: batch-file cmd scheduled-tasks windows2012 start-process