中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 05:24
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » (还有BUG)请高手帮忙这个批处理怎么写,不懂表达大意
可打印版本  968 / 8
第1楼 richercdw 发表于 2007-06-29 01:28
初级用户 发帖 32 积分 62
(还有BUG)请高手帮忙这个批处理怎么写,不懂表达大意
这个批处理中(我只复制全部其中一段),存在这样一个问题.就是计算机名位数的问题,
比如我设A001这台机子

我输入1这样子输出的结果是A001 这是对的也是我想要的结果.
我输入001的话.就出现问题了.输出的结果变成了A00001了,好郁闷的说.

我不懂的怎么写批处理.不管输入是1还是001输出的结果都是A001.请教各位达人了.


:OK
mode con cols=50 lines=12&color a
set aip=192.168.1.
set bip=192.168.2.
set cip=192.168.3.
set mask=255.255.248.0
set gateway=192.168.4.254
set dns1=192.168.4.254
set dns2=61.130.254.34
set aname=A
set bname=B
set cname=C
set a=00
set b=0

:MENU
echo.
echo A区 请按 1
echo.
echo B区 请按 2
echo.
echo C区 请按 3
echo.
echo.
echo.
set /p KEY=请输入您的选择:
if %KEY% == 1 goto A
if %KEY% == 2 goto B
if %KEY% == 3 goto C

:A
echo.
echo A 区
echo.
echo -------------------------------------------------
echo.
set/p apc=请输入计算机号:
echo.
echo -------------------------------------------------
echo.
if exist ComputerName.reg del ComputerName.reg
if %apc% GEQ 255 goto AEE
if %apc% GEQ 100 goto ACC
if %apc% GEQ 10 goto ABB
if %apc% LSS 10 goto AAA
:AAA
set apcname=%aname%%a%%apc%
goto ADD
:ABB
set apcname=%aname%%b%%apc%
goto ADD
:ACC
set apcname=%aname%%apc%
goto ADD
:ADD
set amyip=%aip%%apc%
echo 你的当前设置是
echo 计算机名为:%apcname%
echo IP为:%amyip%
echo.
echo 开始应用设置ing......
reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %apcname% /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %apcname% /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %apcname% /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %apcname% /f
echo.
netsh interface ip set address name="本地连接" source=static addr=%amyip% mask=%mask%
netsh interface ip set address name="本地连接" gateway=%gateway% gwmetric=0
netsh interface ip set dns name="本地连接" source=static addr=%DNS1% register=PRIMARY
netsh interface ip add dns name="本地连接" addr=%DNS2% index=2
reg add "HKLM\Software\iCafe8" /v ServIP /t reg_sz /d 192.168.4.221 /f
reg add "HKLM\Software\iCafe8" /v ServPort /t reg_dword /d 9910 /f
goto fjwblm
:AEE
echo 大于255啦...重新输入一次哇...
goto MENU

[ Last edited by richercdw on 2007-6-29 at 04:49 PM ]
第2楼 lxmxn 发表于 2007-06-29 02:51
版主 发帖 4,938 积分 11,386
第3楼 richercdw 发表于 2007-06-29 15:08
初级用户 发帖 32 积分 62
版主,还有个问题。帮忙一下。比如我输入的088这样的号码。计算机名现在是解决了。可是IP还没有解决。。我想要的结果就是不管输入88还是088结果都会88 。因为IP值头不能带0
192.168.8.88
第4楼 Climbing 发表于 2007-06-29 15:27
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
set ip=%ip:0=%
第5楼 richercdw 发表于 2007-06-29 15:42
初级用户 发帖 32 积分 62
哈哈。谢谢楼上的两位达们。我的问题都解决了...
第6楼 richercdw 发表于 2007-06-29 16:50
初级用户 发帖 32 积分 62
四楼的命令。输入计算机名号208的时候。输出结果变成了28了,,,
第7楼 richercdw 发表于 2007-06-29 17:23
初级用户 发帖 32 积分 62
呜。。急。。有人帮忙解决嘛???
第8楼 shurenzhi 发表于 2007-06-29 17:39
初级用户 发帖 15 积分 30
Originally posted by richercdw at 2007-6-29 05:23 PM:
呜。。急。。有人帮忙解决嘛???

你直接给这位Climbing发消息就是拉
第9楼 ThinKing 发表于 2007-06-29 21:02
中级用户 发帖 207 积分 471
演示代码:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023