怎么用vbs删除vbs所在的文件夹?

peach18 2009-06-24 03:12:47
要求详细代码~
希望各位大大帮忙~!!!
...全文
1194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pohman 2009-06-28
  • 打赏
  • 举报
回复
顶~
Andy杨 2009-06-25
  • 打赏
  • 举报
回复
[color=#CCFFFF][color=#CCFFCC]一些自删除的脚本


标签: 脚本 删除 安装程序 文件 批处理

软件打包 INNO 删除安装程序自身

作者:gnatix

关键字:INNO 删除

代码如下:



procedure CurStepChanged(CurStep: TSetupStep);

var

ErrorCode: Integer;

begin

if CurStep=ssDone then

Exec(ExpandConstant('{cmd}'), '/c del "'+expandconstant('{srcexe}')+'"', '', SW_HIDE, ewNoWait, ErrorCode);

end;



不过还是要谨慎使用。别人好不容易从网上下载了你的安装程序,结果运行一次就自行删除了,这样还是不大好吧

原文地址http://bbs.hanzify.org/index.php?showtopic=50881

示例提供:自动查找并删除 AutoRun 病毒相关文件 1.2

http://soft.ylmf.com/downinfo/928.html

[color=red]NSIS删除安装程序自身


作者:smilefly

关键字:NSIS 删除

代码如下:



!include "FileFunc.nsh"

!insertmacro GetExeName

Section "MainSection" SEC01

${GetExeName} $R0

WriteINIStr "$TEMP\temp.ini" "section1" "SetupPath" "$R0"

WriteUninstaller "$TEMP\uninst.exe"

SectionEnd

Section Uninstall

Delete "$TEMP\uninst.exe"

ReadINIStr $R0 "$TEMP\temp.ini" "section1" "SetupPath"

Delete "$R0"

Delete "$TEMP\temp.ini"

SetAutoClose true

SectionEnd

Function .onInstSuccess

Exec '"$TEMP\uninst.exe"'

FunctionEnd



就是先一个卸载函数放到 $TEMP 下, 再读取安装程序文件名, 找个地方, 比如 INI 文件存起来.

然后在安装完成后( .onInstSuccess ) 调用卸载, 读取程序文件名, 删除痕迹

以上只是提供一种思路.

就是安装完成后再调用运行另一个程序删除安装程序.

你完全可以在程序里再打包上一个用来删除文件的程序, 支持命令的行就可

原文地址:http://bbs.hanzify.org/index.php?showtopic=50850

示例提供:运行批处理的小工具

http://dreams8.com/viewthread.php?tid=156&extra=page%3D1

脚本文件自删除之一AutoIt文件的自删除



Run(@ComSpec&' /c ping 127.0.0.1 -n 3&del /q "'&@ScriptFullPath&'"',@ScriptDir,@SW_HIDE)




脚本文件自删除之二VBS文件的自删除

关键字: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){}



当然还有wsf脚本文件,和上面的基本上是一样的!

原文地址:http://www.cnblogs.com/happy555/archive/2004/10/12/51102.html

示例提供:暂无

脚本文件自删除之三批处理文件的自删除

相关知识:

%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 删除目录树时不要求确认[/color][/color][/color]

4,007

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧