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

知道真实路径的情况下

代码如下:

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自删除脚本,并调用它删除自身啦,方法同样和批处理文件的自删除相似!
需要说明的是由于病毒及蠕虫对脚本的滥用,脚本删除文件时可能会被被误认为恶意代码!

(0)

相关推荐

  • VBS和bat批处理逐行读取文件实例

    首先是批处理的,很简单,每隔两秒钟读取一行. 复制代码 代码如下: @echo off for /f "tokens=*" %%i in (lrbf.ini) do (echo %%i & ping -n 2 127.1>nul) pause 更直观的: 复制代码 代码如下: FOR /F "delims=" %i IN (file.txt) DO echo %i 当然如果你想做更多其他的事 do 后面是你发挥的地方 VBS的两个版本 第一种方式,逐行

  • vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)

    示例代码(t.vbs)如下: 复制代码 代码如下: Set fso=Wscript.CreateObject("Scripting.FileSystemObject") flrName="D:\Workspace\src\" 'dir that you need deal with count=0 'get the count of modified files function Traversal(dir) set flr=fso.getfolder(dir) s

  • 进程监控实现代码[vbs+bat]

    运行后会在%windir%\system32\目录下生成jk.vbs, 并且自动添加注册表启动项,另外在D:\会生成一个隐藏属性的JK.VBS, 3秒间隔监控进程,如果进程中有QQ.exe.iexplore.exe.client.exe.game.exe进程则会自动结束进程. 复制代码 代码如下: @echo off attrib -s -h -a -r d:\jk.bat 1>nul 2>nul if exist d:\jk.bat del d:\jk.bat /q copy %0 d:\j

  • EXE2BAT(EXE转BAT)的vbs脚本

    exe2bat的脚本 复制代码 代码如下: fp=wscript.arguments(0) fn=right(fp,len(fp)-instrrev(fp,"")) with createobject("adodb.stream") .type=1:.open:.loadfromfile fp:str=.read:sl=lenb(str) end with sll=sl mod 65536:slh=sl65536 with createobject("sc

  • 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神奇的消失啦?而后面的对话框却

  • vbs与bat混编修改虚拟盘符的卷标

    我想改变我用subst创建的虚拟盘符的卷标 已知下面的命令无法改变由subst创建的盘符 @echo off subst X: c:\personalfiles wmic logicaldisk where "deviceid='X:'" set volumename="Development" pause 但是可以用这个vbs脚本来改变 Set oShell = WScript.CreateObject("Shell.Application")

  • BAT批处理、VBScript批量安装字体脚本分享

    根据新系统要求,经常要部署一些原来系统里没有的字体,原先我为了图省事经常会要求用户手动安装字体文件,虽然Windows的易用性做得相当不错,但是仍然要照顾一些不会安装字体的人,其实把这些字体打包进安装包更为方便,不过我觉得总不能每有新字体都要搞个安装包那么麻烦吧.更重要的是仍然有人会问我字体怎么安装,以前清一色的Windows XP系统,我倒也方便,直接告知打开控制面板找到字体文件夹,把要安装的字体拖进去即可:现在有Windows 7还是Windows 8等各种版本Windows系统,对于安装字

  • 用VBS来代替BAT或CMD文件进行命令第1/2页

    自动导入注册表的,带检测: On Error Resume Next dim msg,fso,shell Set fso = Wscript.createobject("scripting.filesystemobject") set wshshell = wscript.CreateObject("wscript.shell") set shell = wscript.createobject("wscript.shell") IF (fso.

  • 可以将Bat转换位VBS文件的VBS脚本

    下面代码稍有修改,原结构是脚本与释放的bat同步执行并等待bat执行完毕后删除bat,本意是不遗留临时文件.后来想想通用性不好,比如释放执行的bat文件是个常驻进程的监视类型那VBS也会无休止的等待而无法退出,所以还是改为异步执行,脚本调用bat后自行退出.考虑到还原原文件的完整性末尾添加自删除也打消了想法.压缩包暂未更新. 复制代码 代码如下: 'bat2vbs.vbs by baomaboy Dim WshSHell,FSO On Error Resume Next Set WshSHell

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

    知道真实路径的情况下 复制代码 代码如下: set fso=wscript.createobject("scripting.filesystemobject") fso.deletefile "c:\windows\system32\run.cmd" fso.deletefile "c:\windows\system32\run.vbs" 不知道具体的路径情况下,可以用如下代码: 复制代码 代码如下: Set fso =CreateObject(

  • 后台运行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 新建一个vds

  • window通过vbs+bat实现自动在后台运行nodejs application

    环境:window8.1 原理就是通过vbs无窗口后台运行bat文件 1.新建一个.bat文件.内容如: @ECHO ON f: cd \repositories\yyper start /b nodemon index.js -f 2.新建一个.vbs文件.内容如: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c run-yyper-blog.bat",vbhide 双击.vbs文件即可.本人通过该方法启

  • Android 应用按返回键退向后台运行实例代码

    Android应用开发按下返回键退向后台运行 我们日常使用的很多Android应用(如QQ.微信.微博),在应用的主界面按下返回键,应用并没有退出,而是进入后台运行. 那么,开发中是如何实现的呢?我找到了两种方法: 一.监测返回键 1.在Activity中重写onBackPressed()方法. @Override public void onBackPressed() { //此处写退向后台的处理 } 2.重写onKeyDown()方法(有的应用提示再次点击返回键退出应用就是在这里做的文章).

  • 运行bat时隐藏cmd窗口的方法(bat隐藏窗口 隐藏运行bat文件)

    这里我们简单的整理下常用方法,方便大家使用.都是通过vbscript的代码.运行bat时隐藏cmd窗口的方法 可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序. 复制代码 代码如下: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 批处理程序名",vbhide 将上面代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本ru

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

    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

  • Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法

    我们在Windows中运行bat批处理文件时往往会弹出一个cmd命令提示符窗口,然后等一会儿cmd窗口就自动关闭了,有人会说,直接在bat批处理文件中加入echo off命令么好了,没错,echo off确实可以关闭cmd窗口,但是cmd窗口最初还是会弹出一下再消失,下面就教大家运行bat批处理文件时如何彻底隐藏cmd命令提示符窗口的方法. 方法就是通过vbs脚本来彻底隐藏执行bat批处理文件,将以下代码保存为.vbs文件,然后直接执行这个.vbs文件即可彻底隐藏cmd窗口了: Set ws =

  • windows下java -jar 后台运行以及杀死后台进程的操作

    在你的jar文件当前目录中建立一个bat文件: 内容是:注意文件名要对应 @echo off START "commandServer" javaw -jar command-0.0.1-SNAPSHOT.jar 之后双击bat文件就能后台启动jar包啦 杀死后台进程 首先执行命令 (你要知道你运行的jar文件的端口号) netstat -aon | findstr "9998" 可以看到PID为6452 然后在执行: tasklist|findstr "

  • Python脚本后台运行的几种方式

    一个用python写的监控脚本test1.py,用while True方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本: 复制代码 代码如下: python test1.py & 现在脚本正常运行,通过ps能看到进程号,此时直接关闭ssh终端(不是用exit命令,是直接通过putty的关闭按钮执行的), 再次登录后发现进程已经退出了. 通过后台启动的方式该问题已经解决,这里总结下,也方便我以后查阅. linux 下后台运行 通过fork实现 linux环境下,在c中守护进程

随机推荐