在VBS最后加上以下語句即可刪除批處理和腳本本身(假設運行的批處理為 run.cmd ,啟動批處理的腳本為 run.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)
然后運行它,是不是發(fā)現(xiàn)selfkill.vbs神奇的消失啦?而后面的對話框卻被正常顯示出來噢^*^
上面的腳本調用FSO控件,使用WSH中Wscript對象得ScriptName屬性,得到腳本自身的文件名
并調用FSO的DeleteFile方法刪除自身!
把它稍微改寫一下:
代碼如下:
On Error Resume Next '防止出現(xiàn)錯誤
Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Sleep 1000 '將腳本執(zhí)行掛起1秒
fso.DeleteFile(WScript.ScriptName) '刪除腳本自身
If fso.FileExists("c:\selfkill.exe") Then fso.DeleteFile("c:\selfkill.exe") '刪除程序
程序就可以動態(tài)生成VBS自刪除腳本,并調用它刪除自身啦,方法同樣和批處理文件的自刪除相似!
需要說明的是由于病毒及蠕蟲對腳本的濫用,腳本刪除文件時可能會被被誤認為惡意代碼!