无忧启动论坛

标题: 老毛桃,安装.exe的原版bat文件源代码 [打印本页]

作者: 九邪    时间: 2007-2-15 09:02
标题: 老毛桃,安装.exe的原版bat文件源代码
昨天,偶发了一个贴子,是关于希望老毛把bat的打包软件,共享一下,
结果,被删除了,心里郁闷,,
也不知是何原因,,,,

因为,他的打包软件是VBS脚本的,

偶还手工脱了他的安装.exe,,结果没有用,
不过,在临时目录里找到了原版的bat


拷出来,大家分享

可以附件里下载

下面是原代码

@Echo Off
COLOR 2F
Set Prog=老毛桃制作的 WinPE 专用安装工具
Set L1=      ╭══════════════════╮
Set L2=      ║                  ║
Set L3=   ╭══┤ %Prog%  ├══╮
Set L4=   ║  ║                  ║  ║
Set L5=   ║  ╰══════════════════╯  ║
Set L6=   ║                        ║
Set L7=   ╟════════════════════════╢
Set L8=   ║ 版权所有:老毛桃  仅供网友们交流 翻版不究 ║
Set L9=   ╰────────────────────────╯
Title %Prog%

Set CFGFile=Setup.ini
For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"PE镜像^" %CFGFile%') do SET PEFile=%%i
For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"外挂配置文件^" %CFGFile%') do SET PEIni=%%i
FIND /I ".IM" %CFGFile%>NUL 2>NUL
If "%Errorlevel%"=="0" Set PEFileType=IMG

Set AddATTR=ATTRIB +S +H +R
Set DelATTR=ATTRIB -S -H -R
For %%I In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%I:\BOOT.INI Set RP=%%I:
If "%RP%"=="" Goto NoSys
Set LogFile=%RP%\PEInstall.log
Set PEDIR=%RP%\MAOTAO
If Exist %PEDIR% Goto Err1
FIND /I "C:\MAOTAO" %RP%\BOOT.INI>NUL 2>NUL
If "%Errorlevel%"=="0" Goto Err1
Goto Start

:Err1
CLS
Title %Prog%——卸载
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo    ║ 您的机器中好像已经安装了 WinPE 了,您想怎么办?║
Echo %L6%
Echo    ║  [1] 卸载原有的 WinPE,并且重新安装。    ║
Echo    ║  [2] 卸载原有的 WinPE,并且不再安装。    ║
Echo    ║  [Q] 退出安装                ║
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/Q) ,然后按回车:
If "%Choice%"=="" Goto Err1
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Set Choi=1&&Goto UnInstall
If /I "%Choice%"=="2" Goto UnInstall
If /I "%Choice%"=="Q" Exit
Goto Err1
Exit

:UnInstall
If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE&&Del %RP%\LDRXPE /Q>NUL 2>NUL
If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE&&Del %RP%\WINNT.XPE /Q>NUL 2>NUL
If Exist %RP%\MTLDR.PE %DelATTR% %RP%\MTLDR.PE&&Del %RP%\MTLDR.PE /Q>NUL 2>NUL
If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR&&Del %RP%\MTLDR /Q>NUL 2>NUL
If Exist %LogFile% For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"WinPE外挂位置^" %LogFile%') do SET OPU=%%i
If Exist %OPU%\外置程序 RD %OPU%\外置程序 /S /Q>NUL 2>NUL
If Exist %LogFile% %DelATTR% %LogFile%&&Del %LogFile% /Q>NUL 2>NUL
If Exist %RP%\MAOTAO RD %RP%\MAOTAO /S /Q>NUL 2>NUL
%DelATTR% %RP%\BOOT.INI
If Exist %RP%\BOOT.BAK (
%DelATTR% %RP%\BOOT.BAK
TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MAOTAO">%RP%\BOOT.INI
) Else (
Copy %RP%\BOOT.INI %RP%\BOOT.BAK /Y>NUL 2>NUL
TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MAOTAO">%RP%\BOOT.INI
)
If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL 2>NUL
%AddATTR% %RP%\BOOT.INI
Title %Prog%——卸载完成
If "%Choi%"=="1" (Echo.&&Echo.&&Echo    卸载完成,请按任意键准备安装 。。。&&PAUSE>NUL 2>NUL&&Goto Start)
Echo.&&Echo.&&Echo    卸载完成,请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit

:Start
CLS
Title %Prog%——安装
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo    ║   请选择安装方式:              ║
Echo %L6%
Echo    ║    [1] 普通安装/启动            ║
Echo    ║    [2] Grub安装/启动 (支持 MD5 密码)    ║
Echo    ║    [3] Aero安装/启动 (支持密码)      ║
Echo    ║    [Q] 退出安装              ║
Echo %L6%
Echo %L7%
Echo    ║ 注意: Aero 安装项只适合系统分区在(HD0,0)分区  ║
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/3/Q) ,然后按回车:
If "%Choice%"=="" Goto Start
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Goto Install
If /I "%Choice%"=="2" Goto GInstall
If /I "%Choice%"=="3" Goto AInstall
If /I "%Choice%"=="Q" Exit
Goto Start

:Install
Title %Prog%——普通安装
If "%OP%"=="" Call :SetOP
If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
Echo 正在复制文件,请稍候 。。。
MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% MAOTAO.BIN -r -y>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP%\ WINNT.XPE -r -y>NUL 2>NUL
Call :CopyAndSetFiles
Goto SUCCESS

:GInstall
Title %Prog%——Grub安装
CLS
If "%OP%"=="" Call :SetOP
Echo 请输入您要设定的密码
Echo 注意:密码中不许有空格、"\"、引号等特殊字符
Echo.
Set /P Pass1=请输入:
If "%Pass1%"=="" Goto GInstall
Echo.&&Echo.
Echo 请再一次输入您的密码
Echo.
Set /P Pass2=请再次输入:
If "%Pass2%"=="" Goto GInstall
If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto GInstall
If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
>%PEDIR%\MD5P.TMP <nul Set/p=%Pass2%
MD5.EXE %PEDIR%\MD5P.TMP %PEDIR%\MD5R.TXT>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% MTLDR -r -y>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% MTLDR.BIN -r -y>NUL 2>NUL
For /f %%i In ('type %PEDIR%\md5r.txt') do echo password --md5 %%i>>%RP%\MTLDR
Echo fontfile /maotao/muifont.gz>>%RP%\MTLDR
Echo splashimage /maotao/bj2008.xpm.gz>>%RP%\MTLDR
Echo title WinPE  By: Maotao>>%RP%\MTLDR
For /f %%i In ('type %PEDIR%\md5r.txt') do echo password --md5 %%i>>%RP%\MTLDR
Copy /b %RP%\MTLDR+%PEDIR%\MTLDR.bin %RP%\MTLDR>NUL 2>NUL
Del %PEDIR%\MD5?.* /Q>NUL 2>NUL
Del %PEDIR%\MTLDR.bin /Q>NUL 2>NUL
Echo.
Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。
PAUSE>NUL 2>NUL
If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR
Echo.
Echo 正在复制文件,请稍候 。。。
MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% BJ2008.XPM.GZ -r -y>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% muifont.gz -r -y>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR%\ maotaog.bin -r -y>NUL 2>NUL
MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP%\ WINNT.XPE -r -y>NUL 2>NUL
Ren %PEDIR%\maotaog.bin maotao.bin
Call :CopyAndSetFiles
Goto SUCCESS

:AInstall
Title %Prog%——Aero安装
CLS
If "%OP%"=="" Call :SetOP
Echo 请输入您要设定的密码
Echo 注意:密码中不许有空格、"\"、引号等特殊字符
Echo.
Set /P Pass1=请输入:
If "%Pass1%"=="" Goto AInstall
Echo.&&Echo.
Echo 请再一次输入您的密码
Echo.
Set /P Pass2=请再次输入:
If "%Pass2%"=="" Goto AInstall
If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto AInstall
If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
For /f %%i In (MyIns\Aero.sys) Do MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% %%i -r -y>NUL 2>NUL
Ren %PEDIR%\maotao.bin avldr.xpe
Ren %PEDIR%\maotaoa.bin maotao.bin
>%PEDIR%\airL.gz <nul Set/p=%Pass2%
Copy /B %PEDIR%\airT.gz+%PEDIR%\airL.gz+%PEDIR%\airW.gz %PEDIR%\airmenu.ini>NUL 2>NUL&&Del %PEDIR%\air?.gz /Q>NUL 2>NUL>NUL 2>NUL
MyIns\MyIns.exe a -tGZip %PEDIR%\airmenu.gz %PEDIR%\airmenu.ini -w%PEDIR%>NUL 2>NUL&&Del %PEDIR%\airmenu.ini /Q>NUL 2>NUL&&Ren %PEDIR%\airmenu.gz airmenu.ini>NUL 2>NUL
Echo.
Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。
PAUSE>NUL 2>NUL
If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
Echo.
Echo 正在复制文件,请稍候 。。。
MOVE %PEDIR%\MTLDR.PE %RP%\>NUL 2>NUL
MOVE %PEDIR%\WINNT.XPE %RP%\>NUL 2>NUL
Call :CopyAndSetFiles
Goto SUCCESS

:NoSys
CLS
Echo 好像您的机器中没有安装操作系统哦,请确认后再执行本安装程序。
Echo.
Echo 请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit

:CopyAndSetFiles
Copy ..\WXPE\SETUPLDR.BIN %RP%\LDRXPE /Y>NUL 2>NUL
Copy ..\%PEFile% %PEDIR% /Y>NUL 2>NUL
%DelATTR% %RP%\BOOT.INI
If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MAOTAO">%RP%\BOOT.INI
Echo C:\MAOTAO\MAOTAO.BIN="WinPE  By: 老毛桃">>%RP%\BOOT.INI
XCOPY ..\外置程序 /E %OP%\外置程序\ /Y /R>NUL 2>NUL
If Exist %OP%\%PEIni% %DelATTR% %OP%\%PEIni%
TYPE ..\%PEIni%|FIND /I /V "安装.EXE">%OP%\%PEIni%
If "%PEFileType%"=="IMG" (
>>%RP%\WINNT.XPE <nul Set/p=/rdpath=MAOTAO\%PEFile%"
) Else (
>>%RP%\WINNT.XPE <nul Set/p=/rdexportascd /rdpath=MAOTAO\%PEFile%"
)
%AddATTR% %RP%\LDRXPE
%AddATTR% %RP%\WINNT.XPE
%AddATTR% %RP%\BOOT.INI
%AddATTR% %RP%\MAOTAO /S /D
%AddATTR% %RP%\MAOTAO\*.* /S /D
%AddATTR% %OP%\外置程序 /S /D
%AddATTR% %OP%\外置程序\*.* /S /D
If Exist %RP%\MTLDR.PE %AddATTR% %RP%\MTLDR.PE
If Exist %RP%\MTLDR %AddATTR% %RP%\MTLDR
>%LogFile% Cd.
>>%LogFile% Echo ;此文件为 WinPE 的安装日志文件,请不要随意删除
>>%LogFile% Echo ;否则可能会造成 WinPE 的卸载不够彻底!!!
>>%LogFile% Echo.
>>%LogFile% Echo WinPE镜像文件=%PEFile%
>>%LogFile% Echo WinPE外挂位置=%OP%
>>%LogFile% Echo WinPE安装日期=%Date% %Time%
%AddATTR% %LogFile%
Goto :EOF

:SetOP
CLS
If "%NoOP%"=="Yes" Echo 错误:您设定的分区不存在或写保护,请按任意键重新设定。&&Echo.
Set /P OP=请设定 外置程序 存放的分区符(不需要冒号,例如 D):
Echo.&&Echo.
If "%OP%"=="" Goto SetOP
If Not "%OP%"=="" Set OP=%OP:~0,1%:
Set TestFile=%OP%\MaotaoTest.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set NoOP=Yes&&Goto SetOP
Del %TestFile% /Q>NUL 2>NUL
Goto :EOF

:SUCCESS
Title %Prog%——安装完成
CLS
Echo 已经成功将镜像 %PEFile% 安装到您的 %RP% 盘。
Echo 外置程序 文件夹按照您的设置,复制到了 %OP% 盘。
Echo.
Echo 系统分区中的 BOOT.INI 备份为 BOOT.BAK。
Echo.&&Echo.
Echo 如果您需要将 WinPE 卸载,请重新运行本安装程序。
Echo.
Echo 请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit

原版.rar

2.74 KB, 下载次数: 305, 下载积分: 无忧币 -2


作者: 石磊    时间: 2007-2-15 11:58
算是批处理,用exescript打包成exe文件不行吗?
作者: 九邪    时间: 2007-2-16 09:09
会被毒软查的啊,
作者: 石磊    时间: 2007-2-16 12:06
不过我想把boot.ini中的“by老毛桃”字样去掉,装完再改有点麻烦。
不知道如何改?把这个批处理的这个字样改掉没有用,装完还是有。
作者: 328781160    时间: 2007-2-16 19:48
LZ能不能把这个东西是如何得出来,说清楚点啊
我们菜,老鸟又不让学
哎。。。。
作者: 老毛桃    时间: 2007-2-16 20:30
原帖由 石磊 于 2007-2-16 12:06 发表
不过我想把boot.ini中的“by老毛桃”字样去掉,装完再改有点麻烦。
不知道如何改?把这个批处理的这个字样改掉没有用,装完还是有。

直接修改就可以啊,怎么回没有用呢?
作者: 九邪    时间: 2007-2-16 20:36
原帖由 石磊 于 2007-2-16 12:06 PM 发表
不过我想把boot.ini中的“by老毛桃”字样去掉,装完再改有点麻烦。
不知道如何改?把这个批处理的这个字样改掉没有用,装完还是有。



晕啊,谁说不行了,偶试过了才发的


把原版里的“安装.exe“删除掉,把这个bat改成安装.bat,
放到安装.exe同一目录里就行了
作者: 石磊    时间: 2007-2-16 20:41
原帖由 老毛桃 于 2007-2-16 08:30 PM 发表

直接修改就可以啊,怎么回没有用呢?

我说的是修改源,而不是修改c盘下的boot.ini
直接修改这个bat把by×××删了,其他的都没变。安装,还是会在c盘中的boot.ini文件中有这个字眼的,就是不知道怎么回事?是什么地方设置了写入的。

[ 本帖最后由 石磊 于 2007-2-16 08:48 PM 编辑 ]
作者: 石磊    时间: 2007-2-16 20:45
原帖由 九邪 于 2007-2-16 08:36 PM 发表



晕啊,谁说不行了,偶试过了才发的


把原版里的“安装.exe“删除掉,把这个bat改成安装.bat,
放到安装.exe同一目录里就行了

我不是说这个不是源文件,确实是的。我的意思是装完不是会在启动中显示“winpe    by:老毛桃”的字吗,不直接在c盘的boot.ini中改,而改源。
作者: zxyy    时间: 2007-2-18 16:55
学习这个批处理了。
作者: 九邪    时间: 2007-2-18 18:14
原帖由 石磊 于 2007-2-16 08:45 PM 发表

我不是说这个不是源文件,确实是的。我的意思是装完不是会在启动中显示“winpe    by:老毛桃”的字吗,不直接在c盘的boot.ini中改,而改源。



如果,我骂你傻B,你会生气,不过,你也真是傻,,,,,

本来就是改boot.ini里的,,,,,

运行上面的bat安装的硬盘版pe后,boot.ini就会改掉,,

你没有认真读懂这个bat,,,
作者: 九邪    时间: 2007-2-18 18:15
如果,还把老毛桃的放进去,,,我还发个屁的源码,,,,,

读懂源码后,你就可以把这个bat改成你自己的bat,然后,编译成.exe的,
这样,安装好后,就会出现你的boot.ini

[ 本帖最后由 九邪 于 2007-2-18 06:16 PM 编辑 ]
作者: 九邪    时间: 2007-2-18 18:22
怕你真得不会改,给你一个,没有版权信息的bat

安装.rar

2.73 KB, 下载次数: 69, 下载积分: 无忧币 -2


作者: 九邪    时间: 2007-2-18 18:23
运行后,boot.ini里不会有毛桃了,
不吃毛桃吃苹果
作者: 石磊    时间: 2007-2-18 22:44
原帖由 九邪 于 2007-2-18 06:14 PM 发表



如果,我骂你傻B,你会生气,不过,你也真是傻,,,,,

本来就是改boot.ini里的,,,,,

运行上面的bat安装的硬盘版pe后,boot.ini就会改掉,,

你没有认真读懂这个bat,,,

是的,我确实没读懂,也没仔细去看,我只是修改了,第155行的“Echo title WinPE  By: Maotao>>%RP%\MTLDR”
刚涉及制作光盘,还很皮毛
本人只是维修的,微机原理也没学好,呵呵。
作者: 老毛桃    时间: 2007-2-24 13:30
原帖由 石磊 于 2007-2-18 22:44 发表

是的,我确实没读懂,也没仔细去看,我只是修改了,第155行的“Echo title WinPE  By: Maotao>>%RP%\MTLDR”
刚涉及制作光盘,还很皮毛
本人只是维修的,微机原理也没学好,呵呵。
  1. For /f %%i In ('type %PEDIR%\md5r.txt') do echo password --md5 %%i>>%RP%\MTLDR
  2. Echo fontfile /maotao/muifont.gz>>%RP%\MTLDR
  3. Echo splashimage /maotao/bj2008.xpm.gz>>%RP%\MTLDR
  4. Echo title WinPE  By: Maotao>>%RP%\MTLDR
  5. For /f %%i In ('type %PEDIR%\md5r.txt') do echo password --md5 %%i>>%RP%\MTLDR
  6. Copy /b %RP%\MTLDR+%PEDIR%\MTLDR.bin %RP%\MTLDR>NUL 2>NUL
复制代码

这里一段代码修改的时候一定要注意,如果造成了 MTLDR 文件字节数的变化,很有可能会造成无法使用 Grub 启动。
作者: oar    时间: 2007-2-27 10:50
嗯,感谢毛桃无私指教
另外,这个帖子没看到楼主附件内的bat用啥工具打包成exe?
作者: pizigao    时间: 2007-2-27 12:58
够复杂的~领教了
作者: oar    时间: 2007-2-28 16:47
这个帖子怎么也被咔嚓了
作者: cuijian    时间: 2007-5-17 15:17
启动时说mtldr missing如何解决?




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3