![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 04:39 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]ghost8里的一个批处理?我不懂!! |
| 可打印版本 1,451 / 4 |
| 第1楼 doslr | 发表于 2004-11-12 00:00 |
| 初级用户 发帖 27 积分 168 | |
|
[求助]ghost8里的一个批处理?我不懂!! @ECHO OFF
if not "%windir%*"=="*" goto Error REM: 这句不明白 if "%3*"=="*" goto Sample REM: 这句不明白 if not exist %1 goto Sample if "%2"=="RTL8139" goto RTL8139 if "%2"=="DLE530TX" goto DLE530TX if "%2"=="DFE530TX" goto DFE530TX if "%2"=="DCN530TX" goto DCN530TX if "%2"=="PRO100" goto PRO100 if "%2"=="IP100" goto IP100 if "%2"=="RTL8029" goto RTL8029 if "%2"=="VIA" goto VIA if "%2"=="SIS" goto SIS if "%2"=="3C90X" goto 3C90X goto Sample :Sample echo. echo Usage: DGS GHO_File Ethernet_Adapter IP_Address echo Sample: DGS SYS.GHO DLE530TX 1.1 ; SYS.GHO, Legend DFE-530TX, 192.168.1.1 echo DGS E:\X.GHO PRO100 DHCP ; E:\X.GHO, Intel PRO/100, DHCP echo. echo Ethernet_Adapter: Realtek RTL8139 Family = RTL8139 echo Legend DFE-530TX = DLE530TX echo D-Link DFE-530TX = DFE530TX echo DigitalChina DCN-530TX = DCN530TX echo Intel PRO/10/100 = PRO100 echo IC Plus IP100 = IP100 echo Realtek RTL8029 = RTL8029 echo VIA Rhine Family = VIA echo SiS 900/7016 = SIS echo 3Com 3C90x EtherLink = 3C90X goto End :Error echo. echo Error! echo This is GhostCast for DOS. echo Please exit Windows and boot to DOS. goto End :RTL8139 rem - Realtek RTL8139 Family NIC\RTL8139\RTSPKT.COM 0x60 goto IP LE530TXrem - Legend DFE-530TX NIC\DLE530TX\DLKFET.COM 0x60 goto IP FE530TXrem - D-Link DFE-530TX NIC\DFE530TX\DLKFET.COM 0x60 goto IP CN530TXrem - DigitalChina DCN-530TX NIC\DCN530TX\DCNPKT.COM 0x60 goto IP RO100rem - Intel PRO/100 NIC\PRO100\E100BPKT.COM 0x60 goto IP :IP100 rem - IC Plus IP100 NIC\IP100\IP100PD.COM 0x60 goto IP :RTL8029 rem - Realtek RTL8029 NIC\RTL8029\PCIPKT.COM 0x60 goto IP :VIA rem - VIA Rhine Family NIC\VIA\FETPKT.COM 0x60 goto IP :SIS rem - SiS 900/7016 NIC\SIS\SIS900.EXE -n 0x60 goto IP :3C90X rem - 3Com 3C90x EtherLink NIC\3C90X\3C90XPD.COM /I=0x60 goto IP :IP if exist WATTCP.CFG del WATTCP.CFG if "%3"=="DHCP" goto GHOSTSRV echo IP = 192.168.0.3>> WATTCP.CFG echo NETMASK = 255.255.255.0>> WATTCP.CFG echo GATEWAY = >> WATTCP.CFG goto GHOSTSRV :GHOSTSRV echo. DOSGHSRV.EXE %1 CW -DISK1 -G"-CLONE,MODE=LOAD,SRC=@mcCW,DST=1 -SURE" goto Uninstall :Uninstall echo. if exist WATTCP.CFG del WATTCP.CFG if "%2"=="RTL8139" goto RTL8139U if "%2"=="DLE530TX" goto DLE530U if "%2"=="DFE530TX" goto DFE530U if "%2"=="DCN530TX" goto DCN530U if "%2"=="PRO100" goto PRO100U if "%2"=="IP100" goto IP100U if "%2"=="RTL8029" goto RTL8029U if "%2"=="VIA" goto VIAU if "%2"=="SIS" goto SISU if "%2"=="3C90X" goto 3C90XU :RTL8139U rem - Realtek RTL8139 Family NIC\RTL8139\RTSPKT.COM -u goto End LE530Urem - Legend DFE-530TX NIC\DLE530TX\DLKFET.COM /u goto End FE530Urem - D-Link DFE-530TX NIC\DFE530TX\DLKFET.COM -u goto End CN530Urem - DigitalChina DCN-530TX NIC\DCN530TX\DCNPKT.COM -u goto End RO100Urem - Intel PRO/100 NIC\PRO100\E100BPKT.COM -u goto End :IP100U rem - IC Plus IP100 NIC\IP100\IP100PD.COM /u goto End :RTL8029U rem - Realtek RTL8029 NIC\RTL8029\PCIPKT.COM -u goto End :VIAU rem - VIA Rhine Family NIC\VIA\FETPKT.COM -u goto End :SISU rem - SiS 900/7016 echo SiS 900/7016 Packet Driver can't uninstall. goto End :3C90XU rem - 3Com 3C90x EtherLink NIC\3C90X\3C90XPD.COM -u /I=0x60 goto End :End echo. if not "%windir%*"=="*" goto Error REM: 这句不明白 if "%3*"=="*" goto Sample REM: 这句不明白 这个 "%windir%*"="*" 这里用"*"星号是什么意思?? %windir%代表系统目录,这个我明白,但是后面的"*"后,%windir%* 是指什么意思呢?? 这个"*"后有什么作用?用这个星号可以判断出它是不是在windows还是在dos下?? if "%3*" =="*" 这里的“*”星号也是如此,有什么作用,起到什么??" |
|
| 第2楼 Climbing | 发表于 2004-11-12 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
其实这里的*号是多余的,在用if判断一个环境变量是否为空字符串时,为了防止环境变量为空,导致"if %var%==1"出现“ if ==1”这种情况,一般都会在变量左右多加一个(或者多个)字符来防止,最常见的是在将环境变量用双引号括起来,例如if "%windir%"=="",当然你也可以用if %windir%#==# 或者 if %windir%*==*来代替双引号。
|
|
| 第3楼 doslr | 发表于 2004-11-16 00:00 |
| 初级用户 发帖 27 积分 168 | |
|
呵呵,谢谢climbing大侠!原来 if not "%windir%*"=="*" 是为了防止 %windir%为空,导至 出现 if not ==* 这种情况
|
|
| 第4楼 lho | 发表于 2004-11-29 00:00 |
| 初级用户 发帖 11 积分 126 | |
|
高手!
|
|
| 第5楼 jieok3375 | 发表于 2006-10-14 00:44 |
| 中级用户 发帖 130 积分 282 来自 广东 | |
|
学习了
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |