VBS腳本和BAT批處理刪除自身的方法
來(lái)源:易賢網(wǎng) 閱讀:1668 次 日期:2016-07-05 14:31:15
溫馨提示:易賢網(wǎng)小編為您整理了“VBS腳本和BAT批處理刪除自身的方法”,方便廣大網(wǎng)友查閱!

有時(shí)候我們?cè)賹?xiě)一些腳本的時(shí)候,需要?jiǎng)h除文件自身,一來(lái)保密二來(lái)刪除不需要的文件。

VBS腳本和BAT批處理自身刪除的方法(自殺)

刪除自身之:VBS

把下面的腳本保存為selfkill.vbs或selfkill.vbe:

代碼如下:

Set fso = CreateObject("Scripting.FileSystemObject")

f = fso.DeleteFile(WScript.ScriptName)

WScript.Echo( WScript.ScriptName)

然后運(yùn)行它,是不是發(fā)現(xiàn)selfkill.vbs神奇的消失啦?而后面的對(duì)話(huà)框卻被正常顯示出來(lái)噢^*^

上面的腳本調(diào)用FSO控件,使用WSH中Wscript對(duì)象得ScriptName屬性,得到腳本自身的文件名,

并調(diào)用FSO的DeleteFile方法刪除自身!

把它稍微改寫(xiě)一下:

代碼如下:

On Error Resume Next '防止出現(xiàn)錯(cuò)誤

Set fso = CreateObject("Scripting.FileSystemObject")

WScript.Sleep 1000 '將腳本執(zhí)行掛起1秒

fso.DeleteFile(WScript.ScriptName) '刪除腳本自身<!--more-->

If fso.FileExists("c:selfkill.exe") Then fso.DeleteFile("c:selfkill.exe") '刪除程序

程序就可以動(dòng)態(tài)生成VBS自刪除腳本,并調(diào)用它刪除自身啦,方法同樣和批處理文件的自刪除相似!

需要說(shuō)明的是由于病毒及蠕蟲(chóng)對(duì)腳本的濫用,腳本刪除文件時(shí)可能會(huì)被被誤認(rèn)為惡意代碼!

附:自刪除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){}

刪除自身之:批處理

相關(guān)知識(shí):

%0的具體應(yīng)用小結(jié)

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

在批處理中,使用命令“del %0”即可達(dá)到刪除自身的目的。

利用此特性,批處理經(jīng)常被用來(lái)做完全卸載工具。

當(dāng)然,我們還可以利用擴(kuò)展,獲得更多的用途:

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

代碼如下:

@echo off

echo %~dp0

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

代碼如下:

@echo off

echo %~nx0

如我C盤(pán)有個(gè)文件夾名為 AAA 里面有很多文件

我想把 g:AAA 這個(gè)文件夾里的文件和文件夾全刪除該怎么寫(xiě)批處理啊!

rd /s /q C:AAA

上面一行代碼恰好能解決問(wèn)題!(也刪掉了AAA這個(gè)文件夾)詳見(jiàn)解釋:

刪除一個(gè)目錄。

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

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

/S 除目錄本身外,還將刪除指定目錄下的所有子目錄和

文件。用于刪除目錄樹(shù)。

/Q 安靜模式,帶 /S 刪除目錄樹(shù)時(shí)不要求確認(rèn)

參考資料:rd/?

@echo off

echo %~nx0

這個(gè)最好把引號(hào)加上,不然名字中間有空格就殺不成了

我殺 "復(fù)件 123.bat"

@echo off

del "%~nx0"

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:VBS腳本和BAT批處理刪除自身的方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話(huà):0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)