Board logo

标题: 批处理求助[高手进] [打印本页]

作者: ghost33505     时间: 2008-3-11 16:07    标题: 批处理求助[高手进]

@ECHO OFF
if not "%windir%*"=="*" goto Error
if "%2*"=="*" goto Sample
if "%1"=="RTL8100" goto RTL8100
if "%1"=="RTL8139" goto RTL8139
if "%1"=="DLE530TX" goto DLE530TX
if "%1"=="DFE530TX" goto DFE530TX
if "%1"=="DCN530TX" goto DCN530TX
if "%1"=="PRO100" goto PRO100
if "%1"=="IP100" goto IP100
if "%1"=="RTL8029" goto RTL8029
if "%1"=="VIA" goto VIA
if "%1"=="SIS" goto SIS
if "%1"=="3C90X" goto 3C90X
goto Sample

:Sample
echo.
echo Usage:  NG Ethernet_Adapter IP_Address
echo Sample: NG RTL8139 1.1 ; Realtek RTL8139 Family, 192.168.1.1
echo         NG PRO100 DHCP ; 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

:RTL8100
rem - Realtek RTL8100 Family
NIC\RTL8100\RTSNT.COM 0x60
goto IP

:RTL8139
rem - Realtek RTL8139 Family
NIC\RTL8139\RTSPKT.COM 0x60
goto IP

:DLE530TX
rem - Legend DFE-530TX
NIC\DLE530TX\DLKFET.COM 0x60
goto IP

:DFE530TX
rem - D-Link DFE-530TX
NIC\DFE530TX\DLKFET.COM 0x60
goto IP

:DCN530TX
rem - DigitalChina DCN-530TX
NIC\DCN530TX\DCNPKT.COM 0x60
goto IP

:PRO100
rem - 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 "%2"=="DHCP" goto GHOST
echo IP = 192.168.%2>> WATTCP.CFG
echo NETMASK = 255.255.255.0>> WATTCP.CFG
echo GATEWAY = >> WATTCP.CFG
goto GHOST

:GHOST
echo.
GHOST.EXE -ja=CW
goto Uninstall

:Uninstall
echo.
if exist WATTCP.CFG del WATTCP.CFG
if "%1"=="RTL8139" goto RTL8139U
if "%1"=="DLE530TX" goto DLE530U
if "%1"=="DFE530TX" goto DFE530U
if "%1"=="DCN530TX" goto DCN530U
if "%1"=="PRO100" goto PRO100U
if "%1"=="IP100" goto IP100U
if "%1"=="RTL8029" goto RTL8029U
if "%1"=="VIA" goto VIAU
if "%1"=="SIS" goto SISU
if "%1"=="3C90X" goto 3C90XU

:RTL8139U
rem - Realtek RTL8139 Family
NIC\RTL8139\RTSPKT.COM -u
goto End

:DLE530U
rem - Legend DFE-530TX
NIC\DLE530TX\DLKFET.COM /u
goto End

:DFE530U
rem - D-Link DFE-530TX
NIC\DFE530TX\DLKFET.COM -u
goto End

:DCN530U
rem - DigitalChina DCN-530TX
NIC\DCN530TX\DCNPKT.COM -u
goto End

:PRO100U
rem - 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.
以上是全程序,为何我运行后此批处理后没运行ghost,
if not "%windir%*"=="*" goto Error    /"%windir%*"=="*" 如何理解*/
if "%2*"=="*" goto Sample                /*"%2*"=="RTL8100"如何理解*/
if "%1"=="RTL8100" goto RTL8100     /*"%2*"=="RTL8139"又是如何理解*/
if "%1"=="RTL8139" goto RTL8139
主要是前几行有些看不明白,见语句后面/**/注释,请高手指点一下,以上批处理文件要如何才会能运行ghost.exe呢,谢谢,希望能详细点了,感激涕零!~~~
作者: BWSkyer     时间: 2008-3-11 16:38
%2應該是config里面的, 你看看里面是不是有個config.exe...

如果有的話就好解釋了, 那些參數都是從那里設置而來的...

看得出來沒有maxdos智能, 這個是手動選擇的, 選擇網卡后都會跳到IP

:IP
if exist WATTCP.CFG del WATTCP.CFG
if "%2"=="DHCP" goto GHOST

如果配置正確了就會跳到GHOST運行GHOST了...
作者: ghost33505     时间: 2008-3-11 18:39
你好,非常感谢
我里面没有config.exe文件,仅有一个WATTCP.CFG文件,
内容如下:
IP = 192.168.0.
NETMASK = 255.255.255.0
GATEWAY = 192.168.0.1

所以这个%2 / %1函数还是有些不清楚,麻烦根据这些情况再解释解释,谢谢~
作者: lxmxn     时间: 2008-3-11 18:57
%1,%2代表传递给命令行的第一,二个参数,类似的%3,%4,%5...类推。

比如a是一个命令,我在命令行执行“a 11 22 33”,那么此时“11”就是传递给a命令的第一个参数,“22”就是第二个参数,类推。

在批处理面,%1就表示第一个参数了,其它类推。

另外,发表主题请注意标题要表达最主要的意思,不要一搞写个什么“批处理的问题”,批处理的那么多问题,别人怎么知道你是什么问题呢?看你是刚注册的新手就不扣你的分了。