VBS脚本和BAT批处理删除自身的方法_vbs教程-查字典教程网
VBS脚本和BAT批处理删除自身的方法
VBS脚本和BAT批处理删除自身的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:VBS脚本和BAT批处理自身删除的方法(自杀)删除自身之:VBS把下面的脚本保存为selfkill.vbs或selfkill.vbe:复制代...

VBS脚本和BAT批处理自身删除的方法(自杀)

删除自身之: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自删除脚本,并调用它删除自身啦,方法同样和批处理文件的自删除相似!

需要说明的是由于病毒及蠕虫对脚本的滥用,脚本删除文件时可能会被被误认为恶意代码!

附:自删除js脚本:

复制代码 代码如下:

try{fso = new ActiveXObject("Scripting.FileSystemObject");

WScript.Sleep(1000);//休眠1秒

fso.DeleteFile(WScript.ScriptName);//删除脚本自身

fso.DeleteFile("c:selfkill.exe");//删除程序

}catch(e){}

附:自删除js脚本:

复制代码 代码如下:

try{fso = new ActiveXObject("Scripting.FileSystemObject");

WScript.Sleep(1000);//休眠1秒

fso.DeleteFile(WScript.ScriptName);//删除脚本自身

fso.DeleteFile("c:selfkill.exe");//删除程序

}catch(e){}

删除自身之:批处理

相关知识:

%0的具体应用小结

在批处理中,%0即代表批处理文件本身。

在批处理中,使用命令“del %0”即可达到删除自身的目的。

利用此特性,批处理经常被用来做完全卸载工具。

当然,我们还可以利用扩展,获得更多的用途:

1.利用“%~dp0”可以得到该文件的路径;

复制代码 代码如下:

@echo off

echo %~dp0

2.利用“%~nx0”可以得到文件名;

复制代码 代码如下:

@echo off

echo %~nx0

如我C盘有个文件夹名为 AAA 里面有很多文件

我想把 g:AAA 这个文件夹里的文件和文件夹全删除该怎么写批处理啊!

rd /s /q C:AAA

上面一行代码恰好能解决问题!(也删掉了AAA这个文件夹)详见解释:

删除一个目录。

RMDIR [/S] [/Q] [drive:]path

RD [/S] [/Q] [drive:]path

/S 除目录本身外,还将删除指定目录下的所有子目录和

文件。用于删除目录树。

/Q 安静模式,带 /S 删除目录树时不要求确认

参考资料:rd/?

@echo off

echo %~nx0

这个最好把引号加上,不然名字中间有空格就杀不成了

我杀 "复件 123.bat"

@echo off

del "%~nx0"

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新vbs学习
    热门vbs学习
    脚本专栏子分类