中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 23:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]为何at命令调用VBS脚本无效 查看 894 回复 3
楼 主 [已结]为何at命令调用VBS脚本无效 发表于 2008-12-13 20:35 ·  中国 江西 宜春 电信
初级用户
积分 152
发帖 42
注册 2004-03-10 00:00
22年会员
UID 19790
性别 男
状态 离线
代码的目的是希望重复调用new.bat
经测试,不能形成循环.

new.bat代码:


::@echo off

::下次运行时间--------------------------------------------------------------------
set /a step=1
::set /a step=%random:~-1%+1
for /f "tokens=1,2 delims=:." %%a in ("%time%") do (
set /a t=100%%a%%100,h=100%%b%%100+%step%
)
set /a s=(t+h/60)%%24,f=h%%60
set s=0%s%&set "f=0%f%"

start notepad.exe

::安排下次任务---------------------------------------------------------------------
at /d /y
at %s:~-2%:%f:~-2% /interactive C:\test\new.vbs
::pause
exit



new.vbs代码:



set Cleaner=createobject("wscript.shell")
Cleaner.run "cmd /c new.bat",vbhide



希望朋友们指点。


按照HAT兄的提醒,把new.vbs代码改成:



set Cleaner=createobject("wscript.shell")
Cleaner.run "cmd /c c:\test\new.bat",vbhide


测试成功

[ Last edited by HAT on 2008-12-14 at 00:16 ]
2 发表于 2008-12-13 20:42 ·  中国 江西 宜春 电信
初级用户
积分 152
发帖 42
注册 2004-03-10 00:00
22年会员
UID 19790
性别 男
状态 离线
at %s:~-2%:%f:~-2% /interactive C:\test\new.vbs
换成
at %s:~-2%:%f:~-2% /interactive CMD /C call “C:\test\new.bat”
可以循环运行,但是我想通过调用new.vbs达到隐藏窗口的目的,怎么就不行呢?
3 发表于 2008-12-13 23:00 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
计划任务里面vbs不知道new.bat在什么地方吧
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
kyqm +2 2008-12-13 23:21
4 发表于 2008-12-13 23:18 ·  中国 江西 宜春 樟树市 电信
初级用户
积分 152
发帖 42
注册 2004-03-10 00:00
22年会员
UID 19790
性别 男
状态 离线
我的天,竟是这个原因

因为原来的new.bat可以运行,所以直接改成new.vbs就没想过会不行了。

谢谢HAT版主。


这段代码可以避免任务管理器里面,计划任务里面找的到痕迹。当然at一下也看得到,不过隐蔽性稍好点

[ Last edited by kyqm on 2008-12-13 at 23:20 ]
论坛跳转: