您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關VBS腳本和BAT批處理如何實現刪除自身的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
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) '刪除腳本自身<!--more-->
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腳本和BAT批處理如何實現刪除自身”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。