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

知道真实路径的情况下

复制代码 代码如下:

set fso=wscript.createobject("scripting.filesystemobject")
fso.deletefile "c:\windows\system32\run.cmd"
fso.deletefile "c:\windows\system32\run.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自删除脚本,并调用它删除自身啦,方法同样和批处理文件的自删除相似!
需要说明的是由于病毒及蠕虫对脚本的滥用,脚本删除文件时可能会被被误认为恶意代码!

时间: 2024-08-01 10:47:49

vbs后台运行bat删除自身的代码_vbs的相关文章

利用WScript.Shell对象隐藏cmd命令行运行框的实现代码_vbs

1. WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:\WINDOWS\system32\wshom.ocx,Wscript.shell是服务器系统会用到的一种组件.shell 就是"壳"的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序.读写注册表.环境变量等.这个对象通常被用在VB或VBS编程中. 2. 安装WScript.Shell对象:regsvr32 WShom.Ocx 卸载WScrip

后台运行bat定时器程序示例分享_DOS/BAT

 新建一个BAT处理文件,命名为timer.bat ,代码如下: 复制代码 代码如下: @echo off:a rem 取得当前时分值set currentTime=%time:~0,2%%time:~3,2%rem echo TIME:%currentTime%rem 调用程序的脚本:"J:\lanp\资治通鉴经典故事 高清晰PDF.PDF" | start /bif %currentTime%==1856 (shutdown /s /t 60)goto :apause 新建一个vd

vbs复制文件夹的实现代码_vbs

需要实现一个复制文件夹的功能,网上找到相关代码,并做了改进,vbs脚本如下 复制代码 代码如下: Dim fso, CopyCountSet fso = CreateObject("Scripting.FileSystemObject") CopyCount = CopyCount + XCopy(fso, ".\1", ".\2", True)MsgBox "拷贝了" & CopyCount & "

vbs中将GB2312转Unicode的代码_vbs

今天写了一个类似于下面的程序: 复制代码 代码如下: Dim http Set http = CreateObject("msxml2.xmlhttp") http.open "GET","http://www.sina.com.cn/",False http.send WScript.Echo http.responseText 但是却发现返回的中文都是乱码,看了一下发现新浪的编码竟然是gb2312的,汗,现在都是utf-8编码的时代了.res

vbs定时发送邮件的方法与代码_vbs

'用VBS写个脚本,然后用WINDOWS平台下的计划任务来调用,每天定时群发邮件.  '代码如下:  下载地址 http://www.51tiao.com/info.vbs 复制代码 代码如下: Dim connstr,conn  Dim sql,rs,msg  Sub OpenDB()      ConnStr = "DSN=51tiao.Com;UID=sa;PWD=;"      If Not IsObject(Conn) Then          Set conn = Cre

利用vbs类实现css按钮的代码_vbs

复制代码 代码如下: <%  rem 文章标题: 利用vbs类实现css按钮  rem 作者:yanek  rem 联系:aspboy@263.net  Class CssButton    Public Name    Public BackColor    Public BorderColor    Public Font    Public FontColor    Public Width    Public Text    Public Url    Public MouseOverC

用VBS获取Unix时间戳的函数代码_vbs

VBS中没有类似C标准库中的time函数,怎么获取Unix时间戳呢?乍一看很简单: 复制代码 代码如下: Function UnixTime() UnixTime = DateDiff("s", "01/01/1970 00:00:00", Now()) End Function 一个很想当然的方法,仅仅注意到了"1970年1月1日0时0分0秒",而忽略了"协调世界时". 协调世界时,又称世界标准时间或世界协调时间,简称UTC

用vbs分割与合并文本文件的代码_vbs

然而想到其他地方再次下载时发现一次性导入几万个地址非常缓慢,所以有必要把它分割了:(在这个txt文件中,一个地址占一行) url_split.vbs文件内容: 复制代码 代码如下: Set fs =CreateObject("scripting.filesystemobject") Set gs =CreateObject("scripting.filesystemobject") Set f=fs.opentextfile("url.txt",

VBS调用Windows API函数的代码_vbs

那天无意中搜索到一篇<WinCC VBS利用EXCEL调用Windows API函数>的文章,不知道WinCC是什么,Google了一下好像跟西门子自动化有关.WinCC是什么并不重要,重要的是这篇文章提供了VBS调用Windows API的一种思路--EXCEL VBA,一种传说比VB还要VB的语言. 但是那篇文章中的例子都是使用已经写好的EXCEL VBA程序,即首先得存在一个EXCEL文件.我就想,能不能在VBS中通过excel.application对象创建一个包含VBA代码的EXCE