file2bat 批处理版
cmd吧
全部回复
仅看楼主
level 5
QQ179157977 楼主
1L用来奉献给DCB
2011年08月29日 07点08分 1
level 5
QQ179157977 楼主
之前是exe程序版。。。。。。
觉得很是鸡肋。。。。
现在弄出个批处理版,,,原来是一样的(原理很2B的。。)。。。。。。。。。。。
开源给大家使用。。。
2011年08月29日 07点08分 2
level 5
QQ179157977 楼主
if "%run_del%"=="y" set run_del=y && goto _run_other
if "%run_del%"=="N" set run_del=n && goto _run_other
if "%run_del%"=="n" set run_del=n && goto _run_other
echo 输入错误,请重新输入!
goto _run_del
::------------------------------------------------------------------------------------------------
:_run_other
if "%tobat%"=="1" (
echo.
echo 1.一般运行
echo 2.最小化运行
echo 3.最大化运行
echo 4.后台运行
set /p run_other=请选择一个运行方式:
if "!run_other!"=="1" set run_other=1 && goto _run_m
if "!run_other!"=="2" set run_other=2 && goto _run_m
if "!run_other!"=="3" set run_other=3 && goto _run_m
if "!run_other!"=="4" set run_other=0 && goto _run_m
echo 输入错误,请重新输入!
goto _run_other
)
if "%tobat%"=="2" (
echo.
set /p run_other=请输入一个运行的函数名:
goto _run_m
)
if "%tobat%"=="3" (
set run_other="" && goto _run_m
)
::------------------------------------------------------------------------------------------------
:_run_m
echo.
echo 1.不压缩文件
echo 2.低压缩
echo 3.快速压缩
echo 4.标准压缩
echo 5.较好压缩
echo 6.最大压缩
set /p rar_m=请选择一个压缩级别:
if "%rar_m%"=="1" set rar_m=1 && goto _rar_passworld
if "%rar_m%"=="2" set rar_m=2 && goto _rar_passworld
if "%rar_m%"=="3" set rar_m=3 && goto _rar_passworld
if "%rar_m%"=="4" set rar_m=4 && goto _rar_passworld
if "%rar_m%"=="5" set rar_m=5 && goto _rar_passworld
if "%rar_m%"=="6" set rar_m=6 && goto _rar_passworld
echo 输入错误,请重新输入!
goto _run_m
::------------------------------------------------------------------------------------------------
:_rar_passworld
echo.
echo 是否需要密码保护?如果需要请输入密码,如果不需要直接敲回车键:
set /p rar_passworld=
goto root
::------------------------------------------------------------------------------------------------
:root
cls
if not exist %filepath% (
echo 原文件不存在请重新输入
goto start
)
echo 正在准备资源...
::================================
for /f "delims=" %%i in ("%filepath%") do (
set str=%%i
set "str=!str:"=!"
set path_=!str!
for %%j in ("!path_!") do (
set file_path=%%~dpj
pushd %file_path%
)
for %%k in ("!path_!") do (
set temp_=%%~nxk
set file_name=!temp_!
set "temp_=!temp_: =_!"
set new_name=!temp_!
)
)
for /f "delims=" %%i in ("%winrarpath%") do (
set %winrarpath%=%%~si
)
for /f "delims=" %%i in ("%haoyapath%") do (
set %haoyapath%=%%~si
)
::================================
echo %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a>%temp_name%.rc
echo cls>>%temp_name%.rc
echo @echo off>>%temp_name%.rc

2011年08月29日 07点08分 4
level 5
QQ179157977 楼主
echo set vbspath=%%windir%%\temp\%temp_name%.tmp>>%temp_name%.rc
::================================
if %run_path%==1 echo set runpath=%%windir%%\%temp_name%>>%temp_name%.rc
if %run_path%==2 echo set runpath=%%windir%%\system32\%temp_name%>>%temp_name%.rc
if %run_path%==3 echo set runpath=%%windir%%\temp\%temp_name%>>%temp_name%.rc
if %run_path%==4 echo set runpath=%%SystemDrive%%\RECYCLER\%temp_name%>>%temp_name%.rc
::================================
echo set runfile=%new_name%>>%temp_name%.rc
echo title %%runfile%%>>%temp_name%.rc
echo if exist "%%runpath%%\%%runfile%%" (>>%temp_name%.rc
echo call :run>>%temp_name%.rc
echo exit>>%temp_name%.rc
echo )>>%temp_name%.rc
::================================
echo for %%%%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (>>%temp_name%.rc
echo if exist "%%%%a:\Program Files\WinRAR\WinRAR.exe" (>>%temp_name%.rc
echo set rarpath="%%%%a:\Program Files\WinRAR\WinRAR.exe">>%temp_name%.rc
::=========
if "%rar_passworld%"=="" (
echo call :unrar1 %%runpath%% %%0>>%temp_name%.rc
) else (
echo call :unrar2 %%runpath%% %%0>>%temp_name%.rc
)
::=========
echo call :run>>%temp_name%.rc
echo exit>>%temp_name%.rc
echo )>>%temp_name%.rc
echo )>>%temp_name%.rc
echo for %%%%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (>>%temp_name%.rc
echo if exist "%%%%a:\Program Files\HaoZip\HaoZipC.exe" (>>%temp_name%.rc
echo set rarpath="%%%%a:\Program Files\HaoZip\HaoZipC.exe">>%temp_name%.rc
echo call :unrar3 %%runpath%% %%0>>%temp_name%.rc
echo call :run>>%temp_name%.rc
echo exit>>%temp_name%.rc
echo )>>%temp_name%.rc
echo )>>%temp_name%.rc
echo echo 你的计算机没有安装winrar、好压或winrar、好压的路径超乎作者的想象而导致本批处理无法使用>>%temp_name%.rc
echo echo 请按任意键退出>>%temp_name%.rc
echo pause^>nul>>%temp_name%.rc
echo exit>>%temp_name%.rc
echo.>>%temp_name%.rc
echo :unrar1>>%temp_name%.rc
echo md %%1^>nul>>%temp_name%.rc
echo %%rarpath%% e -o+ %%2 * %%1 -ibck -inul>>%temp_name%.rc
echo if not exist "%%runpath%%\%%runfile%%" (>>%temp_name%.rc
echo echo 提取文件失败,可能是因为文件数据被破坏。>>%temp_name%.rc
echo pause>>%temp_name%.rc
echo exit>>%temp_name%.rc
echo )>>%temp_name%.rc
echo goto :eof>>%temp_name%.rc
echo.>>%temp_name%.rc
echo :unrar2>>%temp_name%.rc
echo md %%1^>nul>>%temp_name%.rc
echo %%rarpath%% e -o+ %%2 * %%1 -p -ibck>>%temp_name%.rc
echo if not exist "%%runpath%%\%%runfile%%" (>>%temp_name%.rc
echo echo 密码错误,请重新输入 ^&^& call :unrar2 %%1 %%2>>%temp_name%.rc
echo )>>%temp_name%.rc

2011年08月29日 07点08分 5
level 5
QQ179157977 楼主
完
2011年08月29日 07点08分 7
level 5
QQ179157977 楼主
主要功能:将exe\dll\其他文件转换成BAT。
2011年08月29日 07点08分 8
level 5
标记下
2011年09月23日 06点09分 9
level 1
程序开发联系QQ455586546
2011年09月27日 10点09分 10
1