我试了一下:
在u盘里有一个test.bat
@echo off
del test.vbs
ping 127.1 -n 3
del %0
一个test.vbs
Dim hw
Set hw=WScript.CreateObject("WScript.Shell")
hw.Run "c:\windows\test.bat" ,0,true
一个dy.bat
@echo off
copy test.bat %systemroot%
copy test.vbs %systemroot%
start %systemroot%\test.vbs
用dy.bat将test.vbs 与test.bat复制到%systemroot%中
再运行test.vbs,test.bat可以删除自己,但不能删除%systemroot%中的test.vbs,反而将u盘中的test.vbs给删了。
如果不用dy.bat来运行test.vbs,而是直接在%systemroot%中去运行,
结果就正常了。
如果将test.vbs改为:
Dim hw
Set hw=WScript.CreateObject("WScript.Shell")
hw.Run "test.bat" ,0,true
用dy.bat重复上面并用它来运行改过后的test.vbs,
就是u盘中的test.bat和test.vbs都被删了windows中的就没有。