中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » 活动主分区、最后分区号与盘符的确定批处理
« [1] [2] »
作者:
标题: 活动主分区、最后分区号与盘符的确定批处理 上一主题 | 下一主题
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 16 楼』:  



  Quote:
Originally posted by terse at 2007-5-12 15:35:

hdisk.txt就是硬盘信息  是GDISK的
hdisk.ini内容 :
Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model
  1        6         9729     255      63   76319.1  UNKNOWN
lmod /L2* [3 ...

我上面的处理双硬盘是可以的,但不能是u盘启动。也就是说假如u盘启动后盘符是A:可用,是C:不可用。
目前未对u盘进行处理。



Windows 一键还原
http://www.yjhy.com
2007-5-12 15:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 17 楼』:  

顶了!!!!!!!!!!!!!!!

2007-5-14 00:24
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
han2009
新手上路





积分 18
发帖 6
注册 2007-4-27
状态 离线
『第 18 楼』:  

创意非常好,还需要进一步完善一下

2007-5-15 17:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cctv8068
初级用户





积分 30
发帖 15
注册 2008-4-21
状态 离线
『第 19 楼』:  

受教了,谢谢。

2008-4-21 19:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 20 楼』:  

AUTOEXEC.BAT

@ECHO OFF
FOR %%X IN (A: C:) DO IF "%COMSPEC%"=="%%X\COMMAND.COM" SET YD=%%X>NUL
PATH=%YD%\;%YD%\SYS>NUL
FOR %%X IN (LYM AU WBAT XMSDSK SWSUBST OFF) DO IF NOT EXIST %YD%\SYS\%%X.EXE GOTO TC
AU
WBAT CLS (BLUE ON BLUE)
WBAT FILL18,4(1,17)(+GREEN ON BLUE)!FILL20,4(3,9)(+CYAN ON BLUE)!FILL20,14(3,7)(MAGENTA ON BLUE)!FILL24,4(1,17)(+BROWN ON BLUE)
WBAT TEXT18,4"纮羴聜脙膭艆茊菄!^^葓蓧蕣藡: %VER%A^^虒蛵螏蠌: 0451LYM^^袗褢茊菄覓訐詳諘:"
WBAT FILL24,22(1,30)(BLACK ON +GREEN)!TEXT24,23"逓邿酄帷,蹧猗悖浃濂姒绉瑷..."
VOL B:>BB
WBAT TEXT24,23"謻讞貥贆跉,蹧軠轁......      "
FOR %%X IN (A B) DO SWSUBST %%X:=ON
XMSDSK 12288 %RAM% /T /Y>NUL
IF NOT EXIST %RAM%\NUL GOTO TC
%RAM%
COPY %COMSPEC% %RAM%>NUL
SET COMSPEC=%RAM%\COMMAND.COM
LYM /Y /G%HDPMI% %RAM%>NUL
COPY %YD%\SYS\WBAT.EXE %RAM%\BAT\WBAT.COM>NUL
COPY %YD%\SYS\OFF.EXE %RAM%>NUL
STRINGS TEMP=READ %YD%\BB,3
VOL %YD%|FIND "%TEMP%">NUL
IF NOT ERRORLEVEL 1 SET A:=B:>NUL
IF EXIST %YD%\BB DELTREE /Y %YD%\BB>NUL
SET TEMP=%RAM%\TEMP
PATH=%RAM%\;%RAM%\BAT;%RAM%\UCDOS;%YD%\
VOL %YD%|FIND "2007-0518">NUL
IF ERRORLEVEL 1 SET YD=>NUL
IF NOT %YD%#==# DEL %YD%\SYS\LYM.EXE>NUL
LH %RAM%\SYS\ZENO.EXE /Q>NUL
LH %RAM%\SYS\KILLER.EXE>NUL
DRIVE.BAT IFS %C1% %C2% %C3% %C4% %C5% %C6% %C7% %C8% FXDISK HZ %C9% %C10% %C11% U
:TC
CLB

2008-4-22 09:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 21 楼』:  

DRIVE.BAT

@ECHO OFF
FOR %%X IN (C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11) DO SET %%X=>NUL
STRINGS GO=TRUENAME .
IF %GO%==%RAM% SET GO=%GO%\
:KS
SHIFT
IF "%0"=="" GOTO U
GO %RAM%\SYS
GOTO %0
:IFS
SET TS=正在自动识别系统类型>NUL
CALL AUTS
LH %RAM%\SYS\IFS\HDPMI32
LH %RAM%\SYS\IFS\NDOS -MOUNTALL -CP:936
%RAM%\SYS\DRVTYPES /ND|FIND /I /V "%RAM%"|FIND ":">NUL
IF ERRORLEVEL 1 %RAM%\SYS\IFS\XMSMAN -C
GO %TEMP%
ECHO LIST>LIST
MINI -P -IFS -NOHP>MINI.TXT
LH %RAM%\SYS\IFS\HDPMI32
%RAM%\SYS\IFS\PSI LIST>PSI.TXT
TYPE PSI.OUT|FIND /I/V "EXTENDED"|FIND /I/V "FREE"|FIND /I/V "DISK">PSI.OUT
STRINGS PSI=READ PSI.OUT,1
STRINGS PF=MID %PSI%,4,1
MINI -TURN %PF%: -IFS -NOHP>LIST
FOR %%X IN (PSI PF) DO SET %%X=>NUL
GOTO KS
:FXDISK
SET TS=正在读取硬盘分区信息>NUL
CALL AUTS
GO %TEMP%
GHOST -DD>NUL
TYPE GHSTSTAT.TXT|FIND /I "DESC     ">DESC
TYPE GHSTSTAT.TXT|FIND /I/N "TYPE     ">TYPE
:INFO
STRINGS DESC=READ DESC,1
TYPE DESC|FIND /I/V "%DESC%">DESC
STRINGS TYPE=READ TYPE,1
TYPE TYPE|FIND /I/V "%TYPE%">TYPE
STRINGS WRITE INFO,%DESC%%TYPE%
IF NOT "%DESC%"=="" GOTO INFO
FOR %%X IN (DESC TYPE) DO DEL %%X
FIND /I/V "%YD%" INFO|FIND /I/V "%A:%"|FIND /I "FLOPPY">FDD
FOR %%X IN (YD A:) DO SET %%X=>NUL
FIND /I/V "FLOPPY" INFO|FIND /I/V "%RAM%">INFO
FIND /I "FAT" INFO>LS.TXT
FIND /I/V "FAT" INFO>>LS.TXT
TYPE LS.TXT|FIND ":">INFO
STRINGS ZID=LINESIZE PSI.OUT
IF NOT "%ZID%"=="0" STRINGS ZID=ADD %ZID%,2
STRINGS DISK1=READ LIST,1
STRINGS DISK1=LEFT %DISK1%,1
FOR %%X IN (ID DISK2) DO SET %%X=0>NUL
SET SB=HDD>NUL
ECHO  分区符   设备    卷标    系统   类型 激活 隐藏 磁盘容量  已用空间  可用空间>DISK.INI
ECHO 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪>>DISK.INI
:FXHDD
SET TS=正在将分区信息写入列表>NUL
CALL AUTS
IF "%ID%"=="%ZID%" GOTO FXFDD
STRINGS ID=ADD %ID%,1
STRINGS PSI=READ PSI.OUT,%ID%
SET R=>NUL
IF NOT %PSI%#==# SET R=REM >NUL
%R%STRINGS DISK1=ADD %DISK1%,1
%R%SET DISK2=0>NUL
%R%GOTO FXHDD
STRINGS DISK2=ADD %DISK2%,1
STRINGS PF=MID %PSI%,4,1
STRINGS AC=MID %PSI%,35,3
STRINGS HI=MID %PSI%,42,3
FOR %%X IN (#%AC% #%PF% #%HI%) DO IF %%X==#  GOTO FXHDD
SET PF=%PF%:>NUL
IF %AC%#==Yes# STRINGS WRITE S1.INI,%PF% = %DISK1%.%DISK2%:
DIRT %PF%\WINDOWS\SYSTEM32\  /Q /L:0 >NUL
IF %HI%#==Yes# IF %FPATH%#==# STRINGS WRITE HI.INI,%PF% = %DISK1%.%DISK2%:
DIRT /CLEARENV>NUL
IF "%AC%"=="Yes"  SET AC=★ >NUL
STRINGS FS=MID %PSI%,15,6
STRINGS TY=MID %FS%,1,4
STRINGS FS=MID %FS%,5,2
FOR %%X IN (%TY%) DO SET TY=%%X>NUL
STRINGS FS=MID %TY%%FS%   ,1,6
STRINGS TY=MID %PSI%,6,8
FOR %%X IN (%TY%) DO SET TY=%%X>NUL
IF "%TY%"=="Primary" SET TY=主  >NUL
IF "%TY%"=="Logical" SET TY=逻辑>NUL
STRINGS SI=MID %PSI%,23,9
STRINGS DW=PARSE %SI%,2
STRINGS SI=PARSE %SI%,1
STRINGS SI=RIGHT #        %SI% %DW%,9
STRINGS US=MID %PSI%,60,9
STRINGS DW=PARSE %US%,2
STRINGS US=PARSE %US%,1
STRINGS US=RIGHT #        %US% %DW%,9
STRINGS FR=MID %PSI%,71,9
STRINGS DW=PARSE %FR%,2
STRINGS FR=PARSE %FR%,1
STRINGS FR=RIGHT #        %FR% %DW%,9
SET DISK=%DISK1%.%DISK2%:>NUL
TYPE INFO|FIND /I/V "%PF%"|FIND /I/V "%DISK1%:%DISK2%"|FIND /I/V "%DISK%">INFO
ECHO %PF% = %DISK%>D1.INI
:FXHDD1
SET PSI=>NUL
VOL %PF%|FIND ":">LS.TXT
STRINGS LA=READ LS.TXT,1
IF NOT %LA%#==# STRINGS LA=MID %LA%        ,22,8
IF %LA%#==# SET LA=_未命名_>NUL
IF "%SB%"=="CD" IF "%LA%"=="_未命名_" SET LA=????????>NUL
ECHO %PF% = %DISK%  %SB%%CDID%  %LA%  %FS% %TY%  %AC%  %HI%%SI% %US% %FR%>>DISK.INI
FOR %%X IN (TY FS SI AC HI LA US FR DW PF DISK) DO SET %%X=>NUL
GOTO FX%SB%
:FXFDD
SET SB=FDD>NUL
FOR %%X IN (DISK1 DISK2 ID ZID) DO SET %%X=>NUL
STRINGS PSI=READ FDD,1
IF %PSI%#==# GOTO FXINFO
STRINGS PF=MID %PSI%,10,2
TYPE FDD|FIND /I/V "%PF%">FDD
VOL %PF%|FIND "-">NUL
IF ERRORLEVEL 1 GOTO FXFDD
SET FS=FAT  >NUL
GOTO ZHXX
:FXINFO
FIND /V ": [" INFO|FIND ": ">LS.TXT
FIND /V ": " INFO|FIND " [">S
TYPE INFO|FIND ": [">Z
SET R=REM >NUL
:FXINFO1
STRINGS Z=READ Z,1
IF %Z%#==# SET R=>NUL
%R%SET S=>NUL
%R%TYPE LS.TXT>%R%INFO
%R%GOTO FXUSB
TYPE Z|FIND /I/V "%Z%">Z
STRINGS S=READ S,1
TYPE S|FIND /I/V "%S%">S
STRINGS Z=MID %Z%,10,2
VOL %Z%|FIND "-">NUL
IF ERRORLEVEL 1 GOTO FXINFO1
STRINGS S=MID %S%,10,30
ECHO DESC     %Z% %S%>>LS.TXT
GOTO FXINFO1
:FXUSB
SET SB=USB>NUL
STRINGS PSI=READ INFO,1
IF %PSI%#==# GOTO SHSUCDX
STRINGS PF=MID %PSI%,10,2
TYPE INFO|FIND /I/V "%PF%">INFO
STRINGS DISK1=MID %PSI%,13,1
STRINGS DISK2=MID %PSI%,15,1
SET DISK=%DISK1%.%DISK2%:>NUL
FOR %%X IN (DISK1 DISK2) DO SET %%X=>NUL
SET FS=FAT  >NUL
GOTO ZHXX
:SHSUCDX
IF NOT "%CD%"=="Y" GOTO FXJS
SET TS=正在分配CD驱动器盘符>NUL
CALL AUTS
LH %RAM%\SYS\CD\SHSUCDX.COM  /D:?PATA-CD1,W /D:?SATA-CD1 /D:?_USB-CD1|FIND ":"|FIND /N ":">%TEMP%\CD.TXT
:FXCD
WBAT CURSOR 1
SET SB=CD
%R%GO %TEMP%
%R%TYPE CD.TXT>%R%CD
%R%TYPE DISK.INI|%R%FIND /I/V "  CD"|%R%FIND /I/V "%RAM%"|%R%FIND /I/V "屯">%R%DISK.INI
%R%SET R=REM >NUL
STRINGS PSI=READ CD,1
IF %PSI%#==# SET R=>NUL
%R%GOTO FXJS
STRINGS PF=MID %PSI%,6,2
STRINGS FS=MID %PSI%,11,4
SET FS=%FS% >NUL
STRINGS CDID=MID %PSI%,2,1
TYPE CD|FIND /I/V "%PF%">CD
:ZHXX
IF "%DISK%#"=="#" SET DISK=---->NUL
IF "%FS%#"=="#" SET FS=----->NUL
SET TY= ---->NUL
FOR %%X IN (US FR) DO SET %%X=--------->NUL
FOR %%X IN (AC HI) DO SET %%X=--->NUL
SET SI= -------->NUL
GOTO FXHDD1
:FXJS
ECHO %RAM% = ----  RAM  RAMDRIVE  -----  ----  ---  --- -------- --------- --------->>DISK.INI
ECHO 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯>>DISK.INI
FOR %%X IN (STUBACT.LOG LIST PSI.OUT %RAM%\TEMPLAYO.CFG) DO IF EXIST %%X DEL %%X
FOR %%X IN (S Z CD REM FDD INFO LS.TXT PWLOG.TXT ) DO IF EXIST %%X DEL %%X
FOR %%X IN (CD CDID SB) DO SET %%X=>NUL
IF NOT EXIST HI.INI GOTO KS
TYPE HI.INI>D1.INI
DEL HI.INI
GOTO KS
:GCDROM
SET TS=正在安装GCDROM.SYS驱动>NUL
CALL AUTS
DEVICE.COM %RAM%\SYS\CD\GCDROM.SYS /D:SATA-CD1>NUL
SET CD=Y
GOTO KS
:VIDECDD
SET TS=正在安装VIDE-CDD.SYS驱动>NUL
CALL AUTS
DEVICE.COM %RAM%\SYS\CD\VIDE-CDD.SYS /D:PATA-CD1>NUL
SET CD=Y
GOTO KS
:QCDROM
SET TS=正在安装QCDROM.SYS驱动>NUL
CALL AUTS
DEVICE.COM %RAM%\SYS\CD\QCDROM.SYS /D:PATA-CD1>NUL
SET CD=Y
GOTO KS
:USBASPI
SET TS=正在搜索USB设备>NUL
CALL AUTS
DEVICE.COM %RAM%\SYS\USB\USBASPI.SYS>NUL
GOTO KS
:DI1000DD
SET TS=正在安装DI1000DD.SYS驱动>NUL
CALL AUTS
CTLOAD.COM %RAM%\SYS\USB\DI1000DD.SYS>NUL
GOTO KS
:ASPIDISK
SET TS=正在安装ASPIDISK.SYS驱动>NUL
CALL AUTS
CTLOAD.COM %RAM%\SYS\USB\ASPIDISK.SYS>NUL
GOTO KS
:USBCD
SET TS=正在安装USBCD.SYS驱动>NUL
CALL AUTS
DEVICE.COM %RAM%\SYS\USB\USBCD.SYS /D:_USB-CD1>NUL
SET CD=Y
GOTO KS
:NJUSBCDA
SET TS=正在安装NJUSBCDA.SYS驱动>NUL
CALL AUTS
DEVICE.COM %RAM%\SYS\USB\NJUSBCDA.SYS /D:_USB-CD1>NUL
SET CD=Y
GOTO KS
:HZ
GO %RAM%\UCDOS
rem CALL CLS PB
CTTY NUL
RD16
KNL
PY
UCTS 中国DOS联盟 → 0451LYM → %VER%    Ctrl + Alt + Del 重启
WBAT CLS (BLUE ON BLUE)
WBAT FILL18,4(1,17)(+GREEN ON BLUE)!FILL20,4(3,9)(+CYAN ON BLUE)!FILL20,14(3,7)(MAGENTA ON BLUE)!FILL24,4(1,17)(+BROWN ON BLUE)
WBAT TEXT18,4"我的镜像恢复系统!^^版本信息: %VER%A^^友情制作: 0451LYM^^当前进程提示:"
WBAT FILL24,22(1,30)(BLACK ON +GREEN)
GOTO KS
:UHCI
SET TS=正在安装UHCI.EXE驱动>NUL
CALL AUTS
LH %RAM%\SYS\MOUSE\UHCI.EXE>NUL
GOTO KS
:OHCI
SET TS=正在安装OHCI.EXE驱动>NUL
CALL AUTS
LH %RAM%\SYS\MOUSE\OHCI.EXE>NUL
GOTO KS
:CTMOUSE
SET TS=正在安装CTMOUSE.EXE驱动>NUL
CALL AUTS
LH %RAM%\SYS\MOUSE\CTMOUSE.EXE /Y /B>NUL
GOTO KS
:U
MEM /C|FIND "DOSKEY"|IF ERRORLEVEL 1 LH %RAM%\SYS\DOSKEY>NUL
GO %GO%
SET GO=>NUL
IF EXIST %RAM%\BAT\DLMM.BAT DLMM
IF %0#==U# U

2008-4-22 09:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 22 楼』:  

不知道能不能看明白,最近太忙了!
请自己分析吧!!

2008-4-22 09:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: