如何去用批处理销毁文件

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:37:32
我做了个压缩文件,解压后我的批处理得到了运行,这时,我需要批处理去帮我删除这个压缩文件,但使用这个文件的人不是我,所以现在不知道这个包被存处在哪,不明路径.批处理首先要去找到这个文件的位置,然后去删除这个压缩文件.即解压后自动销毁!
请你给我完整的代码好吗?

你用winrar做的话,winrar会在运行你的那个批处理之前设置一个环境变量sfxname,值就是压缩包的文件名(包含绝对路径),比如:
做一个自解压的exe压缩包,压缩包内含有setup.bat,指定解压后运行setup.bat,那么bat中这样写:
=================================
...
del /f /q "%sfxname%"
=================================
但是,我试了一下,运行后不会删除原来那个exe,原因是,那个解压缩程序在运行bat时还没有退出(还有一些善后工作),如果你的bat运行时间比较短的话,执行到最后一句时碰到exe还没有推出,就不能把压缩包删掉,所以需要在del这句之前做一下延时,就是空转一会,用一个空循环或者执行choice程序可以实现:
for /l %%i in (1,1,200000) do @rem
这句在我的机器上大概能延个1.5秒
如果用choice命令的话这么写:
choice /t 2 /d y >nul
这样就延了2秒,choice是外部程序,xp上没有,需要你自己找一个,并放到压缩包里(和bat放到一起)

用 DIR /S /B 遍历一个驱动器(盘)
查找你的目标文件名,得到文件夹和路径

查到则 ERASE /F 强迫删除