中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 18:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [注意]批处理诊断专室 查看 17,429 回复 172
151 发表于 2004-01-16 00:00 ·  中国 广东 佛山 南海区 电信
初级用户
积分 114
发帖 3
注册 2004-01-16 00:00
22年会员
UID 15646
性别 男
状态 离线
多谢!!!!
152 发表于 2004-01-25 00:00 ·  中国 陕西 渭南 电信
初级用户
积分 122
发帖 5
注册 2004-01-20 00:00
22年会员
UID 15869
性别 男
状态 离线
版主你好,我是个批处理初学者,我想请问如果我想在您做的ms-dos710里加入一条选项比如叫“setup winxp from image"
就是让机子直接将我光盘上的镜像直接叫入系统盘,然后重启.该怎么做?
批处理里可以加入像这样:
@echo off
I:
ghost -clone,mode=pload,src=I:\winxp.gho:1,dst=1:1 -fx -sure -rb

请问这一段加在哪里,该怎么加,config.sys里该如何配制?
还有就是我看到您在config.sys里的LASTDRIVEHIGH值为什么会是32而不是一个盘符?
我的机子光驱是I,我该如何确定在另一台机子上调用ghost时,能自动识别到光盘根目录下?
谢谢版主!!!
153 发表于 2004-01-26 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
23年会员
UID 7953
性别 男
状态 离线
to 浪里淘沙:
config.sys:

DEVICE=HIMEM.SYS /TESTMEM:OFF /Q
DEVICE=EMM386.EXE NOEMS
DEVICEHIGH=VIDE_CDD.SYS /D:MSCD001
DEVICEHIGH=IFSHLP.SYS
DOS=HIGH,UMB
LASTDRIVEHIGH=Z
FILESHIGH=40
BUFFERSHIGH=30,0
FCBSHIGH=4,0
BREAK=OFF

autoexec.bat:

@ECHO OFF
SHSUCDX /D:MSCD001
SMARTDRV /X
FINDCD
%CDROM%:
ghost -clone,mode=pload,src=%CDROM%:\winxp.gho:1,dst=1:1 -fx -sure -rb

需要的程序:
HIMEM.SYS
EMM386.EXE
VIDE_CDD.SYS
SHSUCDX.EXE
SMARTDRV.EXE
FINDCD.EXE
GHOST.EXE
IFSHLP.SYS
IO.SYS
COMMAND.COM
MSDOS.SYS
Somehow somewhere I've got to choose.
No matter if it is win or lose.
154 发表于 2004-01-27 00:00 ·  中国 陕西 渭南 电信
初级用户
积分 122
发帖 5
注册 2004-01-20 00:00
22年会员
UID 15869
性别 男
状态 离线
多谢版主!!
155 发表于 2004-01-31 00:00 ·  中国 云南 曲靖 电信
初级用户
积分 105
发帖 1
注册 2004-01-31 00:00
22年会员
UID 16394
性别 男
状态 离线
用光盘引导启动后,如何直接运行光盘根目录上的文件.

如:123.exe

批处理如何写

谢谢!!!
156 发表于 2004-02-09 00:00 ·  中国 青海 西宁 电信
初级用户
积分 157
发帖 11
注册 2004-02-08 00:00
22年会员
UID 16934
性别 男
状态 离线
我有一个批处理文件的问题,向大家请教。
> 1. if not exist c:\ucdos.bat goto win98
> ......
> etx cl198
> :wing98
> ......
> 其中:etx cl198,这句是什么意思?
>
> 2. pause > nul
>
> 疑问:我记得暂停用“pause”就行了,后面的“>nul”是什么意思?
>
> 3. mdir c:\ah /m /f5000000
> if errorlevel 1 goto inset1
> goto help
> :inset1
> ......
> 问:创建目录AH命令的后2个参数的意思是?第2句是判断什么错误啊,第3句是跳?
紿ELP段吗?我在整个批文件中没找到HELP的开头?
>
> 4. 在批文件中象执行.COM 和 .BAT 一样,能打开 .TXT 和 .xls 文档吗?
> 5. 在批文件中能否判断硬盘的分区存在?象1中判断指定的文件是否存在一样,如我
要执行 MD F:\HYQ 前先判断 F 是否存在?
> 6. 我执行(默认) MD F:\HYQ 前,给用户一个提示,可以有用户自己来指定目
录名,并在后续的命令中用到这个目录名,有点象 C 语言中从键盘输入一个字符串,在批文件中能做到吗?怎么写?

特别是 第 5、6 个问题 ?
157 发表于 2004-02-12 00:00 ·  中国 青海 西宁 电信
初级用户
积分 157
发帖 11
注册 2004-02-08 00:00
22年会员
UID 16934
性别 男
状态 离线

怎么没人???????????
158 回复:(xuan5272095)这是我仿照书上列子遍的*.bat文... 发表于 2005-01-08 00:00 ·  中国 山东 济宁 电信
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线
这是我仿照书上列子遍的*.bat文件,可运行时会出错,
请帮我看看


@echo off
choice /c:mde mem,defrag,end
if errorlevel 3 goto mem(应先判断数值最高的错误码)
if errorlevel 2 goto defrag
if errotlevel 1 goto end

:mem
mem
goto end
:defrag
c:\windows\defrag.exe
goto end
:end
echo good bye

@echo off
choice /c:mde mem,defrag,end
if errorlevel 3 goto end(应先判断数值最高的错误码)
if errorlevel 2 goto defrag
if errotlevel 1 goto mem
:mem
mem
goto end
:defrag
c:\windows\defrag.exe
goto end
:end
echo good bye
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
159 我们发现你们都把CHOICE的方法弄错了!!!出问题了我可不 发表于 2005-01-08 00:00 ·  中国 山东 济宁 电信
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线
以下是引用iceboy在2003-10-6 15:42:54的发言:
可以!最简单的方法就是用 Choice.com,复杂一点就用 Menustar、ChoiceX,或者编个小程序也行。


我们发现你们都把CHOICE的方法弄错了!!!出问题了我可不成但责任
@echo off
f:\pillow\dos\tw.exe
set path=f:\pillow\dos;e:\ghost
echo.
echo MS-DOS 7.10 启动菜单
echo.
echo 1. 启动到 DOS
echo 2. 备份系统
echo 3. 恢复系统
echo.
choice /c:123 /n /t:1,30 请选择:
if errorlevel 3 goto DOS
if errorlevel 2 goto BACKUP
if errorlevel 1 goto RESTORE
OS
goto exit
:BACKUP
ghost -clone,mode=pdump,src=1:1,dst=e:\ghost\win2k_1.gh1 -fx -rb
goto exit
:RESTORE
ghost -clone,mode=pload,src=e:\ghost\win2000.gh1,dst=1:1 -rb
:exit



DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
160 发表于 2005-01-09 00:00 ·  中国 广东 潮州 电信
初级用户
积分 102
发帖 19
注册 2004-11-22 00:00
21年会员
UID 33910
性别 男
状态 离线
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C上面的意思就是把等于号"="后面的所有字符赋给变量%LglDrv%.

161 发表于 2005-02-13 00:00 ·  中国 福建 泉州 电信
初级用户
积分 154
发帖 15
注册 2005-01-31 00:00
21年会员
UID 35835
性别 男
状态 离线
这个贴子太好了,很有借鉴价值,应当排到前面去,顶!!!
162 发表于 2005-04-23 00:00 ·  中国 山东 济宁 电信
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线
验证“割的巴赫”猜想(请加上奇数)
:: Solve.bat - 验证哥德巴赫猜想的程序
:: Will Sort - 2004/11/18
::
:: 从素数堆垒程序变化而来
:: 环境变量说明:
:: iTest:测试数, iPrime:素数序号
:: divisor:用以判断素数的除数, iDivisor:除数序号
:: Factor1&Factor2: 偶数的两个分解因子, iFactor1&iFicator2:因子序号
:: less: 除法中不足除的标志, diff: 减法中有差值的标志
::
@echo off
if == goto %2
if == %comspec% /e:4096 /c %0 $ init
del ~Solve.bat
goto end

:: 初始化: 产生素数2, 将它存为第一个素数, 设置循环起始值为3
:init
set iTest=I I
set iPrime=I
set %iPrime%=I I

:: 对3~n的奇数 %iTest% 与已产生的所有素数由小到大循环相除
:: 若全部未整除则将 %iTest% 存入素数 %iPrime%, 否则跳至 Solve
:: 对3~n的偶数 %iTest% 分解为已产生的两个素数之和
:: 若恰好分解则显示此偶数和两个分解因子, 否则继续循环 MainLoop
:MainLoop
rime - 判断奇数是否为素数
set iTest=I %iTest%
set iDivisor=I
rimeLoop
echo set divisor=%%%iDivisor%%%>~Solve.bat
call ~Solve.bat
call %0 $ Divide %iTest%
if "%less%"=="" goto Solve
if "%iDivisor%"=="%iPrime%" goto IsPrime
set iDivisor=I%iDivisor%
goto PrimeLoop
:IsPrime
set iPrime=I%iPrime%
set %iPrime%=%iTest%
:Solve - 将偶数分解为素数之和
set iTest=I %iTest%
set iFactor1=
:SolveLoop
set iFactor1=I%iFactor1%
if "%iFactor1%"=="I%iPrime%" goto SolveLoop
set iFactor2=%iFactor1%
:SolveSubLoop
if "%iFactor2%"=="I%iPrime%" goto SolveLoop
echo set Factor1=%%%iFactor1%%%> ~Solve.bat
echo set Factor2=%%%iFactor2%%%>>~Solve.bat
call ~Solve.bat
call %0 $ Minus %iTest%
if "%diff%"=="" goto IsSolve
set iFactor2=I%iFactor2%
goto SolveSubLoop
:IsSolve
echo %iTest%
echo %Factor1% + %Factor2%
if "%iPrime%"=="IIIIIIIII" goto end
goto MainLoop

:: 将传入的被除数 %iTest% 除以(循环减)除数 %divisor%
:: 若不足除 (无法整除) 则返回不足信号 less, 否则直接返回
ivide
for %%n in (%divisor%) do shift
if not == goto Divide
set less=
if == set less=true
goto end

:: 将传入的被减数 %iTest% 减去减数 %Factor1% 和 %Factor2%
:: 若有差值 (无法分解) 则返回相差信号 diff, 否则直接返回
:Minus
for %%n in (%Factor1%) do shift
for %%n in (%Factor2%) do shift
set diff=
if "%2"=="" set diff=true
if not "%3"=="" set diff=true
goto end

:end

DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
163 发表于 2005-04-23 00:00 ·  中国 山东 济宁 电信
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线
得到了但看不懂
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
164 发表于 2005-04-23 00:00 ·  中国 山东 济宁 电信
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线

用【code】【/code】(用英文的,现在我只能用中文表示)输入缩进文本
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
165 发表于 2005-04-23 00:00 ·  中国 山东 济宁 电信
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线
要问就找willsort吧,她事很熟,批处理专家
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
论坛跳转: