如何用批处理运行RAR文件里的程序文件

来源:百度知道 编辑:UC知道 时间:2024/05/06 01:56:26
为了防止U盘感染病毒,我不想在U盘里面保留程序文件,所以想把可执行程序文件打包成RAR压缩包,但是又不想每次解压使用。请问我应该怎样写一个BAT文件,让它自动将压缩包中的程序文件解压到临时文件夹并运行,而且不要绝对路径,只要相对路径,因为U盘在每台电脑上的路径都不同,我不想直接做成自解压文件,因为那也是个EXE文件,不符合我的要求

敢问中毒和exe什么关系?
没有exe照样会中毒的

不过,如果按照你的要求的话,bat应该这么写
假设你的rar叫做someprogram.rar
rar中的可执行程序叫someporgram.exe
使用时注意删除每行后面的空格
::后面跟的是注释

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
setlocal
for /f "delims== tokens=1,*" %%a in ('ftype^|find /i "winrar="') do call:getrarpath %%b
if not exist "%path%\rar.exe" echo 找不到WinRAR&exit /b
::根据.rar的文件关联查找rar所在的路径

rar e "%~dp0someprogram.rar" %temp%\someprogram\
::这里假设你的bat文件和rar文件是放在同一个目录下的

start %temp%\someprogram\someporgram.exe
::如果someporgram.exe不是直接在rar的根目录下的话,你要修改一下这句的路径

exit /b

:getrarpath
::将工作路径path设为winrar所在目录
path %~dp1
exit /b