vbs后台运行bat删除自身的代码

2019-01-16 04:56:19于丽
知道真实路径的情况下


set fso=wscript.createobject("scripting.filesystemobject")
fso.deletefile "c:windowssystem32run.cmd"
fso.deletefile "c:windowssystem32run.vbs"


不知道具体的路径情况下,可以用如下代码:


Set fso =CreateObject("Scripting.Filesystemobject")
fso.DeleteFile(WScript.ScriptFullName)


Wscript.ScriptFullName返回脚本的实际路径。

删除自身之:VBS

把下面的脚本保存为selfkill.vbs或selfkill.vbe:


Set fso = CreateObject("Scripting.FileSystemObject")
f = fso.DeleteFile(WScript.ScriptName)
WScript.Echo( WScript.ScriptName)


然后运行它,是不是发现selfkill.vbs神奇的消失啦?而后面的对话框却被正常显示出来噢^*^
上面的脚本调用FSO控件,使用WSH中Wscript对象得ScriptName属性,得到脚本自身的文件名,
并调用FSO的DeleteFile方法删除自身!

把它稍微改写一下:


On Error Resume Next '防止出现错误
Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Sleep 1000 '将脚本执行挂起1秒
fso.DeleteFile(WScript.ScriptName) '删除脚本自身
If fso.FileExists("c:selfkill.exe") Then fso.DeleteFile("c:selfkill.exe") '删除程序


程序就可以动态生成VBS自删除脚本,并调用它删除自身啦,方法同样和批处理文件的自删除相似!
需要说明的是由于病毒及蠕虫对脚本的滥用,脚本删除文件时可能会被被误认为恶意代码!

您可能感兴趣的文章:

可以将Bat转换位VBS文件的VBS脚本用VBS来代替BAT或CMD文件进行命令进程监控实现代码[vbs+bat]vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)VBS脚本和BAT批处理删除自身的方法EXE2BAT(EXE转BAT)的vbs脚本VBS和bat批处理逐行读取文件实例BAT批处理、VBScript批量安装字体脚本分享vbs与bat混编修改虚拟盘符的卷标