如何在执行重启命令后,实现自我删除?
如何在AU3程序中执行重启命令后,实现自我删除?为此我试过使用以下命令....
但都是无法实现自删除...请教下高手们......
Shutdown(6) ;强制重启
;删除脚本程序自身
Run(@ComSpec&' /c ping 127.0.0.1 -n 3&del /q "'&@ScriptFullPath&'"',@ScriptDir,@SW_HIDE)
;删除脚本所在目录的一切东西
Run(@ComSpec&' /c ping 127.0.0.1 -n 3&rd /q/s "'&@ScriptDir&'"',@ScriptDir,@SW_HIDE)
=====================================================
感谢 liongodmien 的热情帮助
>_<下次偶会自个努力处理,不到再来问的哈.
[ 本帖最后由 黑琦一护 于 2008-11-11 15:54 编辑 ] 不知道楼主搞这个自我删除是做什么的?! 原帖由 liongodmien 于 2008-11-11 10:35 发表 http://www.autoitx.com/images/common/back.gif
不知道楼主搞这个自我删除是做什么的?!
让系统调用后,进入优化,然后,重启,再自我删除....
简单的说...就是搞系统需要这个功能.... 原帖由 黑琦一护 于 2008-11-11 10:39 发表 http://www.autoitx.com/images/common/back.gif
让系统调用后,进入优化,然后,重启,再自我删除....
简单的说...就是搞系统需要这个功能....
哦,希望不是搞破坏的...我没测试过...
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"',@ScriptDir,@SW_HIDE)
Exit
原帖由 liongodmien 于 2008-11-11 10:43 发表 http://www.autoitx.com/images/common/back.gif
哦,希望不是搞破坏的...我没测试过...
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"',@ScriptDir,@SW_HIDE)
Exit
请问一下
Run(@ComSpec&' /c ping 127.0.0.1 -n 3&del /q "'&@ScriptFullPath&'"',@ScriptDir,@SW_HIDE)
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"',@ScriptDir,@SW_HIDE)
两者的区别是???
另外我自己也想了一个思路不知道能不能行....
不知是否可行的一个思路
用两个au3,第一个用来使用优化,在最后调用第二个au3
第二个au3用来实行删除第一个au3后,再实现重启功能
Func _RunDOS( $sCommand )
Return RunWait( @ComSpec & " /C """ & $sCommand & """", "", @SW_HIDE )
EndFunc
msgbox(0,"系统设置","系统完成设置,重启,并清理无用文件")
_RunDOS("rd %SYSTEMDRIVE%\hao /s /q")
shutdown(6) 那不是始终要留下一个?!
要删除自身:
一要重启后程序要运行;
二要在调用@COMSPEC后马上退出;
三要被调用的延时足够让程序完全退出后才进行删除动作!
PING -N 3 只不过是要一个延时,其它同DOS下的命令 原帖由 liongodmien 于 2008-11-11 10:55 发表 http://www.autoitx.com/images/common/back.gif
那不是始终要留下一个?!
要删除自身:
一要重启后程序要运行;
二要在调用@COMSPEC后马上退出;
三要被调用的延时足够让程序完全退出后才进行删除动作!
PING -N 3 只不过是要一个延时 ...
恩,,那个方法的确会始终留下一个的。。。
其实第一个au3一定要删,第二个就可以留下,我是这想的
当然最好是都能自删除,等下试下你提供的方法,谢谢你
对了,以下这个命令,可以这样配合使用吗?再问下..先后有什么区别?
shutdown(6)
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"',@ScriptDir,@SW_HIDE)
[ 本帖最后由 黑琦一护 于 2008-11-11 11:08 编辑 ] 重启了之后要再运行程序,要不怎么能删除自身呢?
所以把重启也放在了那个调用命令行里的好! 原帖由 liongodmien 于 2008-11-11 11:59 发表 http://www.autoitx.com/images/common/back.gif
重启了之后要再运行程序,要不怎么能删除自身呢?
所以把重启也放在了那个调用命令行里的好!
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"',@ScriptDir,@SW_HIDE)
只用这个命令就可以了? 重启的不用加了?
3Q.... 原帖由 黑琦一护 于 2008-11-11 12:48 发表 http://www.autoitx.com/images/common/back.gif
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"',@ScriptDir,@SW_HIDE)
只用这个命令就可以了? 重启的不用加了?
3Q....
重启只是用于对设置的修改,删除程序自身,当然是不用重启的了! 原帖由 liongodmien 于 2008-11-11 14:45 发表 http://www.autoitx.com/images/common/back.gif
重启只是用于对设置的修改,删除程序自身,当然是不用重启的了!
恩,这点理解了,我刚刚测了一下,
这条命令与FAQ大全里的那个作用一样...也是删除程序自身...
但由于我需要配合重启命令..使用...
当用shutdown(6),再配合这条删除程序自身命令后,就会出现以下的现象
系统重启了,但程序并没有自身删除.......
代码应该没有错,不知道问题出在那?可以麻烦你给个例子吗? 程序重启并删除自身:
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"&shutdown -t 0 -f -r',@ScriptDir,@SW_HIDE)
Exit
最后一系列的操作都用调用外部程序完成,程序在调用了外部程序后就马上退出! 原帖由 liongodmien 于 2008-11-11 15:48 发表 http://www.autoitx.com/images/common/back.gif
程序重启并删除自身:
Run(@ComSpec&' /c ping 127.0.0.1 -n 5&del /q "'&@AutoItExe&'"&shutdown -t 0 -f -r',@ScriptDir,@SW_HIDE)
Exit
谢谢,我自己也想到了一个
_RunDOS("shutdown -r -t 5 -c what???")
Run(@ComSpec&' /c ping 127.0.0.1 -n 3&del /q "'&@ScriptFullPath&'"',@ScriptDir,@SW_HIDE)
呵呵,,同时也很感谢你,了解命令可以附加使用的了.... 对于这些/c ping 127.0.0.1 -n 3&del /q不懂
页:
[1]
2