中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 01:25
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » at命令调用结束进程的bat为什么会失败
可打印版本  962 / 4
第1楼 zerocq 发表于 2008-04-10 12:37
中级用户 发帖 196 积分 458
at命令调用结束进程的bat为什么会失败
这是bat文件的代码

shutdown -s -t 300
for /f "tokens=1-5" %%a in ('tasklist /v /fi "imagename eq my.exe"^|find "11601179"^|^|goto :eof') do @tskill %%b

查找所有my进程中标题包含指定字符的进程pid,然后结束进程

在at命令下为什么无法无法结束进程,第一句shutdown命令是我临时加上去测试的

at命令下可以正常调用shutdown,第二句就不行

在命令提示符下运行这个bat文件可以正常结束进程
第2楼 zerocq 发表于 2008-04-10 16:58
中级用户 发帖 196 积分 458
没人帮忙么???
第3楼 bigfaint 发表于 2008-04-10 17:07
初级用户 发帖 30 积分 70
恩,没有试过,我感觉应该跟执行计划任务的用户有关。at是用system执行的,你把第二行改一下,把tasklist echo出来,看看有没有不同。
第4楼 zerocq 发表于 2008-04-11 00:24
中级用户 发帖 196 积分 458
Originally posted by bigfaint at 2008-4-10 17:07:
恩,没有试过,我感觉应该跟执行计划任务的用户有关。at是用system执行的,你把第二行改一下,把tasklist echo出来,看看有没有不同。


我尝试echo %b>某个文件,但系统在指定时间执行后全盘都没有找到这个生成的文件

好奇怪
第5楼 HAT 发表于 2008-04-11 06:30
版主 发帖 5,017 积分 9,023
at命令创建的计划任务会以SYSTEM用户的身份来执行,不知道为什么不能杀死指定进程,期待高人解答。

变通的方法是用schtasks创建一个以当前用户身份来执行的计划任务:
schtasks /create /ru "%username%" /sc daily /mo 1 /tn MyTask /tr C:\test\test.bat

如果想自动输入密码(假设密码是abcdefg),可以用echo:
echo abcdefg|schtasks /create /ru "%username%" /sc daily /mo 1 /tn MyTask /tr C:\test\test.bat

另外,杀死指定进程其实不用你写的那么复杂,taskkill命令足矣:
taskkill /fi "windowtitle eq 11601179*"
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023