中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 请大家帮我解释一个批处理文件中的几条命令
作者:
标题: 请大家帮我解释一个批处理文件中的几条命令 上一主题 | 下一主题
mengxok
新手上路





积分 3
发帖 2
注册 2007-10-14
状态 离线
『楼 主』:  请大家帮我解释一个批处理文件中的几条命令

@ECHO OFF
LH MSCDEX.EXE /D:PATACD01 /D:SATACD01 /D:SATACD02 /D:SATACD03 /D:USB-CD
findcd /s>nul
call findcdr "ghost.exe" C D E F G H I J K L M N O P Q R S T U V W X Y Z
%CDROM%:
mouse.exe
ghost.exe -crcignore -fro -fx
ezboot.com
这是我从东海GHOST上提取的直接启动GHOST的批处理,我实在是不懂MSCDEX.EXE /D:PATACD01 /D:SATACD01 /D:SATACD02 /D:SATACD03 /D:USB-CD
(MSCDEX.EXE 后面的指令是什么意思?能帮我一条一条解释吗?)
call findcdr "ghost.exe" C D E F G H I J K L M N O P Q R S T U V W X Y Z
(CALL语言不是用来启动另一个批处理的吗怎么能跟findcdr ?“ghost.exe"后跟的一串字母是什么意思?
ghost.exe -crcignore -fro -fx
( -crcignore -fro -fx是什么意思?)
请高手解释一下好不好
(这只是启动GHOST而不是恢复系统。)

2007-10-19 19:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 2 楼』:  

对 dos 下的命令行不熟悉

2007-10-19 20:34
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 3 楼』:  

问题1:自己搜索MSCDEX.EXE的帮助
问题2:call 同样能启动程序.后面的字母貌似是参数
问题3:查ghost命令行帮助去

2007-10-20 09:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nayezi
初级用户





积分 48
发帖 20
注册 2007-10-17
状态 离线
『第 4 楼』:  

MSCDEX.EXE是dos的cd-rom扩展命令。MSCDEX.DEX的语法是:
MSCDEX/D:[/D:...[/E][/K][/S][/V][/L:][/M:>]
/D:driverl是MSCDEX.EXE命令中一个必需的参数。它为CD-ROM指定一个驱动器名,通常
的驱动器名是MACD000。这个驱动器名,必须同CDNFIG.SYS中设备驱动程序的/D参数匹配。
当为系统安装第二台CD-ROM驱动器时,重复此参数,驱动器名改为MSCD001。每个CD-ROM驱动
器必须有唯一的驱动器名。
/E规定如系统有可供使用的扩页内存(EMS),则用扩页内存储存扇区缓冲区。
/K表示MS_DOS将支持日本汉语的CD-ROM卷标,在默认情况下是不支持的。
/S允许在网络环境Windows for Workgroup环境中共享CD-ROM驱动器。
/V统计加载MSCDEX.EXE后系统的内存情况,并显示。
/L:letter赋予第一个CD-ROM驱动器一个指定逻辑驱动器名,如有多个CD-ROM驱动器,则
将其后字母赋予它。
/M指定要使用的扇区缓冲区个数。
例如:
C:\DOS\MSCDEX D:\MSCD000 D:\MSCD001/L:G/H
这条命令设置了两个CD-ROM驱动器,驱动器名分别为MSCD000和MSCD001,逻辑驱动器名分别为G和H,并在扩页内存中开辟扇缓冲区。在DOS提示下键入H:回车,即可进第一个CD-ROM驱动器。
至于PADA和SATA,SATA俗称串口硬盘,而PADA俗称并口硬盘。
”findcdr“,请楼主注意这的“cdr”是CD-ROM的缩写,(很多dos命令并非内部命令,理解时要注意该文件夹下的第三方命令行工具)至于后面跟的一长串字母,指的是从C到Z驱动器,LZ在提取代码时应该把“%CDROM%:”带上,这样便于理解。最后的ghost参数问题,-CRCIGNORE:尽量忽略映象文件中的错误,-FRO:强制即使有坏的簇也继续复制,-FX:当完成复制后退出程序。连起来就是在刻盘过程中ghost提示错误的话可以到纯dos下通过命令行进行强制刻盘,有一定几率修复硬盘坏道!ghost是一个很强大的工具,很多命令行,LZ可到网上搜索查询。

[ Last edited by nayezi on 2007-10-20 at 07:11 PM ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 regvip2008 分数: +1  时间:2007-10-26 08:48


2007-10-20 19:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
regvip2008
初级用户





积分 187
发帖 87
注册 2007-10-23
状态 离线
『第 5 楼』:  

nayezi兄果然厉害!由于本人的积分有限,不然会多加几分的!

2007-10-26 08:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yoxu
初级用户




积分 99
发帖 35
注册 2008-2-19
状态 离线
『第 6 楼』:  

LH MSCDEX.EXE /D:PATACD01 /D:SATACD01 /D:SATACD02 /D:SATACD03 /D:USB-CD

这个起到什么作用?

2009-1-1 01:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  Re 3楼



  Quote:
LOADHIGH (LH)

将程序装入到上端内存区。将程序装入到上端内存区可保留更多的常规内存空间供其它程序使用(有关内存优化的信息,见《MS-DOS 6.22用户手册》“获得更多的可用内存”一章)。

语法 :

LOADHIGH [drive:][path]filename [parameters]

要指定程序装入的内存区,应使用以下语法:

LOADHIGH [/L:region1[,minsize1][;region2[,minsize2]...] [/S]]
[drive:][path]filename [parameters]

LOADHIGH可缩写为LH。  

开关项 :

/L:region1[,minsize1][;region2[,minsize2]...]

指定程序装入的内存区。若未使用/L,则MS-DOS将程序装入最大的自由上端内存块(UMB),并将其它可用的UMBs提供给此程序使用。用/L可指定程序装入的特定内存区或程序可使用的内存区。

在/L 开关后指定区号,可将程序装入到指定区中最大的自由内存块中。例如,要将程序装入到第4区最大的自由内存块中,应输入/L:4 (输入MEM /F命令行可列出自由内存区)。

使用/L 开关时,程序只能使用指定的内存区。对于要用多个内存区的程序来说,可指定多个区(使用MEM /M 命令并将程序名作为参数给出,就可查看程序的内存使用情况)。指定多个区时,用分号(;)隔开内存块号。 例如,要使用内存块2和3,应输入/L:2 ; 3 。

通常,MS-DOS将程序装入到包含超过程序装入大小的UMB 的指定内存区(程序装入大小通常等于可执行文件的大小)。若程序运行时所需空间大于装入大小,则可使用minsize参数来保证程序不会被装入到小于运行所需空间的UMB中。MS-DOS会将程序装入到大于程序装入大小和minsize 指定大小的UMB 中。

/S
装入程序时将UMB缩小成最小尺寸。使用此开关可最有效地使用内存。此开关通常只由MemMaker程序使用。MemMaker可分析程序的内存使用情况以决定在装入程序时使用此开关是否安全。此开关只能和/L 开关一起使用,并且只影响指定了最小尺寸的UMB。

参数:

[drive:][path]filename
指定要装入的程序位置和名字。

parameters
指定程序所需的命令行参数。

相关命令 :

有关将设备驱动程序装入上端内存的信息,见<DEVICEHIGH>命令。

有关使用MemMaker将程序移到上端内存区的信息,见 <MEMMAKER>命令。

LOADHIGH (LH)─注解

要求DOS=UMB命令

在使用LOADHIGH命令之前,必须在COMFIG.SYS文件中加入DOS=UMB命令。有关DOS=UMB命令更多的信息,见<DOS> 命令。

使用MemMaker自动优化上端内存区

MS-DOS 6.22中包括的MemMaker程序可自动优化系统内存的使用。MemMaker扫描上端内存,分析驱动程序和应用程序的内存使用情况来决定最适合于装入可用UMB中的程序。MemMaker将LOADHIGH命令加入AUTOEXEC.BAT文件,并在需要时指定/L和/S开关。有关MemMaker更多的信息,见《MS-DOS 6.22用户手册》中“获得更多的可用内存”一章。

必须安装上端内存管理程序

在能将程序装入到上端内存区之前,必须安装上端内存管理程序。MS-DOS为80386或更高档的计算机提供EMM386.EXE来管理上端内存。在CONFIG.SYS文件中用DEVICE命令就可安装EMM386(安装HIMEM.SYS扩展内存管理程序的DEVICE命令必须在安装EMM386的DEVIECE命令之前)

LOADHIGH的工作原理

使用LOADHIGH装入程序时,MS-DOS会试着将程序装入到上端内存区。若上端内存区不够,MS-DOS就将程序装入到常规内存。使用MEM /M命令并指定程序名,就可查出程序是否使用了UMB。

在AUTOEXEC.BAT文件中使用LOADHIGH

使用LOADHIGH命令最方便的方法是在AUTOEXEC.BAT中使用LOADHIGH命令。(若使用了MemMaker程序,该程序会自动将所需的LOADHIGH命令加入到AUTOEXEC.BAT文件中。)

LOADHIGH (LH)─例子

下列命令行将DOSKEY程序装入上端内存区,并指定MS-DOS将程序装入内存区1:

loadhigh /l:1 c:\dos\doskey

下列命令行将MYPROG.EXE程序装入内存区1,并让程序可使用上端内存区3和4:

lh /L:1;3;4 c:\programs\myprog.exe

以下命令行将MYPROG程序装入常规内存(0区)并让程序可存取上端内存1区:

loadhigh /l:0;1 c:\programs\myprog.exe





2009-1-1 18:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
earth123xinyuan
社区乞丐





积分 -46
发帖 25
注册 2009-2-9
来自 内蒙
状态 离线
『第 8 楼』:  

好啊!太好了…今天可是没少学东西阿

2009-2-10 13:04
查看资料  发送邮件  发短消息 网志  OICQ (340458053)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: