|
ifiles
新手上路

积分 10
发帖 3
注册 2006-7-5
状态 离线
|
『楼 主』:
dos下自动启动程序
使用 LLM 解释/回答一下
操作系统环境: win98下的dos, win98
有个dos程序要在启动纯dos时(启动win98时按F8, 选 Command Prompt Only)自动运行。
但正常启动Win98(选Normal) 时,不运行。在autoexec.bat中如何写。
如果在autoexec.bat中实现不了,如何用 Turbo pascal 7.0编程实现。
Operating system environment: DOS under Win98, Win98
There is a DOS program that needs to run automatically when starting pure DOS (press F8 when starting Win98 and select Command Prompt Only).
But when starting Win98 normally (select Normal), it does not run. How to write in autoexec.bat.
If it cannot be realized in autoexec.bat, how to program it with Turbo Pascal 7.0.
|
|
2006-7-5 17:30 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
多年不碰98了有点生疏,给个提示配置config.sys多选菜单,替换MSDOS.SYS的方法
Last edited by fastslz on 2006-7-5 at 18:56 ]
Been away from 98 for years and a bit rusty, give a hint on configuring the config.sys multi-choice menu and the method to replace MSDOS.SYS
Last edited by fastslz on 2006-7-5 at 18:56 ]
|
|
2006-7-5 18:39 |
|
|
ifiles
新手上路

积分 10
发帖 3
注册 2006-7-5
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
呵呵,多谢回复,但我的程序是给用户用的,我不能去替换用户的msdos.sys
Hehe, thanks for the reply, but my program is for users to use, I can't replace the user's msdos.sys
|
|
2006-7-6 11:00 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
Originally posted by ifiles at 2006-7-6 11:00:
呵呵,多谢回复,但我的程序是给用户用的,我不能去替换用户的msdos.sys
- 汗.....
- 1:如果完全不能动用户的文件除了F8没其他办法!
- 2:排除1...下列config.sys autoexec.bat未经测试仅做参考
- config.sys
- MENUITEM=98, Boot Windows 98
- MENUITEM=DOS, Boot MS-DOS
- MENUDEFAULT=98,10
- DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF /Q
- DEVICE=C:\DOS\EMM386.EXE NOEMS
- SHELL=C:\COMMAND.COM /E:1024 /P /F
- DOS=HIGH,UMB
- FCBSHIGH=4,0
- FILESHIGH=30
- BUFFERSHIGH=20,0
- STACKSHIGH=9,256
- autoexec.bat
- @ECHO OFF
- PROMPT $P$G
- PATH=C:\;C:\WINDOWS
- SET EXPAND=YES
- SET DIRCMD=/OGN /4
- IF "%CONFIG%"=="98" GOTO 98
- IF "%CONFIG%"=="DOS" GOTO DOS
- :98
- ATTRIB -S -H -R C:\COMMAND.COM
- ATTRIB -S -H -R C:\IO.SYS
- ATTRIB -S -H -R C:\MSDOS.SYS
- COPY /Y C:\98\COMMAND.COM C:\
- COPY /Y C:\98\IO.SYS C:\
- COPY /Y C:\98\MSDOS.SYS C:\
- ATTRIB +S +H +R C:\COMMAND.COM
- ATTRIB +S +H +R C:\IO.SYS
- ATTRIB +S +H +R C:\MSDOS.SYS
- WIN
- GOTO END
- :DOS
- ATTRIB -S -H -R C:\COMMAND.COM
- ATTRIB -S -H -R C:\IO.SYS
- ATTRIB -S -H -R C:\MSDOS.SYS
- COPY /Y C:\DOS\COMMAND.COM C:\
- COPY /Y C:\DOS\IO.SYS C:\
- COPY /Y C:\DOS\MSDOS.SYS C:\
- ATTRIB +S +H +R C:\COMMAND.COM
- ATTRIB +S +H +R C:\IO.SYS
- ATTRIB +S +H +R C:\MSDOS.SYS
- GOTO END
- :END
DOS一跟葱 2006-07-06 23:15
Originally posted by ifiles at 2006-7-6 11:00:
Hehe, thanks for the reply, but my program is for users, I can't replace the user's msdos.sys
- Sweat.....
- 1: If you can't touch the user's files at all, there's no other way except F8!
- 2: Excluding 1... The following config.sys and autoexec.bat are untested and for reference only
- config.sys
- MENUITEM=98, Boot Windows 98
- MENUITEM=DOS, Boot MS-DOS
- MENUDEFAULT=98,10
- DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF /Q
- DEVICE=C:\DOS\EMM386.EXE NOEMS
- SHELL=C:\COMMAND.COM /E:1024 /P /F
- DOS=HIGH,UMB
- FCBSHIGH=4,0
- FILESHIGH=30
- BUFFERSHIGH=20,0
- STACKSHIGH=9,256
- autoexec.bat
- @ECHO OFF
- PROMPT $P$G
- PATH=C:\;C:\WINDOWS
- SET EXPAND=YES
- SET DIRCMD=/OGN /4
- IF "%CONFIG%"=="98" GOTO 98
- IF "%CONFIG%"=="DOS" GOTO DOS
- :98
- ATTRIB -S -H -R C:\COMMAND.COM
- ATTRIB -S -H -R C:\IO.SYS
- ATTRIB -S -H -R C:\MSDOS.SYS
- COPY /Y C:\98\COMMAND.COM C:\
- COPY /Y C:\98\IO.SYS C:\
- COPY /Y C:\98\MSDOS.SYS C:\
- ATTRIB +S +H +R C:\COMMAND.COM
- ATTRIB +S +H +R C:\IO.SYS
- ATTRIB +S +H +R C:\MSDOS.SYS
- WIN
- GOTO END
- :DOS
- ATTRIB -S -H -R C:\COMMAND.COM
- ATTRIB -S -H -R C:\IO.SYS
- ATTRIB -S -H -R C:\MSDOS.SYS
- COPY /Y C:\DOS\COMMAND.COM C:\
- COPY /Y C:\DOS\IO.SYS C:\
- COPY /Y C:\DOS\MSDOS.SYS C:\
- ATTRIB +S +H +R C:\COMMAND.COM
- ATTRIB +S +H +R C:\IO.SYS
- ATTRIB +S +H +R C:\MSDOS.SYS
- GOTO END
- :END
DOS一跟葱 2006-07-06 23:15
|
|
2006-7-6 23:24 |
|
|
MySOFT2006
初级用户
 
积分 55
发帖 22
注册 2006-5-26
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
要達到這個目的必須製作一個多啟動菜單了。
呵呵。。。我的老电脑上的AUTOEXEC.BAT和CONFIG.SSY文件,供大家参考:
AUTOEXEC.BAT
@ECHO OFF
PROMPT $P$G
PATH C:\WINDOWS;C:\WINDOWS\COMMAND
SET BLASTER=A220 I5 D1 :声卡环境变量
SET SOUND16=D:\TOOLS :声卡驱动目录
D:\TOOLS\SNDINIT /B >NUL :声卡驱动
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
D:\TOOLS\MOD CON DELAY=1 RATE=32 :键盘加速,不需要可以REM
GOTO %CONFIG%
:WIN98 :WIN98启动项
C:\WINDOWS\WIN.COM
GOTO END
:DOS :纯DOS启动项
LH D:\TOOLS\SMARTDRV.EXE
GOTO END
:CD :GAME时加载光驱
D:\TOOLS\MSCDEX.EXE /D:MSCD000 /L:E
LH D:\TOOLS\SMARTDRV.EXE
GOTO END
:END
CONFIG.SYS
MENUITEM=WIN98,WINDOWS 95
MENUITEM=DOS,MS-DOS7.10
MENUITEM=CD,GAME
MENUCOLOR=15,1
MENUDEFAULT=WIN98,5
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF
DOS=UMB,HIGH
NUMLOCK=OFF
BREAK=ON
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF
DOS=UMB,HIGH
NUMLOCK=OFF
BREAK=ON
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF
DOS=UMB,HIGH
device=d:\tools\CDR58201.SYS /D:mscd000
NUMLOCK=OFF
BREAK=ON
Last edited by MySOFT2006 on 2006-7-7 at 12:59 ]
To achieve this goal, a multi-boot menu must be created.
Hehe... Here are the AUTOEXEC.BAT and CONFIG.SYS files from my old computer for your reference:
AUTOEXEC.BAT
@ECHO OFF
PROMPT $P$G
PATH C:\WINDOWS;C:\WINDOWS\COMMAND
SET BLASTER=A220 I5 D1 : Sound card environment variable
SET SOUND16=D:\TOOLS : Sound card driver directory
D:\TOOLS\SNDINIT /B >NUL : Sound card driver
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
D:\TOOLS\MOD CON DELAY=1 RATE=32 : Keyboard acceleration, can be REM if not needed
GOTO %CONFIG%
:WIN98 : WIN98 startup item
C:\WINDOWS\WIN.COM
GOTO END
:DOS : Pure DOS startup item
LH D:\TOOLS\SMARTDRV.EXE
GOTO END
:CD : Load CD-ROM when playing games
D:\TOOLS\MSCDEX.EXE /D:MSCD000 /L:E
LH D:\TOOLS\SMARTDRV.EXE
GOTO END
:END
CONFIG.SYS
MENUITEM=WIN98,WINDOWS 95
MENUITEM=DOS,MS-DOS7.10
MENUITEM=CD,GAME
MENUCOLOR=15,1
MENUDEFAULT=WIN98,5
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF
DOS=UMB,HIGH
NUMLOCK=OFF
BREAK=ON
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF
DOS=UMB,HIGH
NUMLOCK=OFF
BREAK=ON
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF
DOS=UMB,HIGH
device=d:\tools\CDR58201.SYS /D:mscd000
NUMLOCK=OFF
BREAK=ON
Last edited by MySOFT2006 on 2006-7-7 at 12:59 ]
|
|
2006-7-7 08:40 |
|
|
ifiles
新手上路

积分 10
发帖 3
注册 2006-7-5
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
多谢了,看来只能用这种办法了。
Thanks a lot. It seems that we can only use this method.
|
|
2006-7-7 09:11 |
|