|
capcom881
新手上路

积分 11
发帖 5
注册 2006-11-21
状态 离线
|
『楼 主』:
求助!如何改这批处理实现不同计算机号写入指定网关
注:这个批处理来自网络上!
在批处理文件的旁边在建一个 “config.ini ” 文件。
内容:
-----------------------------------------------------------------
[ComputerName]
NH005
NH006
NH007
NH008
NH009
------------------------------------------------------------------
粘贴到“记事本” 里, 另保存为 “config.ini ” 文件.
注意:字母一定要大写!
在批处理文件“GameUpdate.bat” 最后一行
写上:
----------------------------------------------------------------------------------------------------------
for /f "skip=1 tokens=1" %%N IN (\\FilmServer\GameUpdate\Config.ini)
Do if %ComputerName%==%%N (
xcopy /s /e /d /y \\FilmServer\GameUpdate\劲乐团
D:\Games\劲乐团 xcopy /s /e /d /y \\FilmServer\GameUpdate\dhxy
D:\Games\dhxy
xcopy /s /e /d /y \\FilmServer\GameUpdate\"Legend of Mir"
D:\Games\"Legend of Mir"
) Else (
@echo 本台机器今天不更新!
)
Exit
如何修改上面的批处理实现根据机号改网关,如读取config.ini 文件内有 NH005 这个机号就执行这行命令netsh i i set address name="本地连接" gateway=192.168.0.254 gwmetric=0
|
|
2006-12-4 07:08 |
|
|
youxi01
高级用户
   
积分 846
发帖 247
注册 2006-10-27 来自 湖南==》广东
状态 离线
|
『第
2 楼』:
楼上的批处理貌似有点问题:即使那台机器要更新,如:NH007 ,但是它照样要提示不更新哦!
要检测本机是否需要更新,可以使用findstr 啊!
如:
findstr " %ComputerName%" "\\FilmServer\GameUpdate\Config.ini">nul && netsh set address name.........
|
|
2006-12-4 10:43 |
|
|
capcom881
新手上路

积分 11
发帖 5
注册 2006-11-21
状态 离线
|
『第
3 楼』:
Quote: | Originally posted by capcom881 at 2006-12-3 06:08 PM:
注:这个批处理来自网络上!
在批处理文件的旁边在建一个 “config.ini ” 文件。
内容:
-------------------------------------------- ... |
|
findstr " %ComputerName%" "c:\Config.ini">nul &&netsh interface ip set address name="本地连
接" gateway=192.168.0.254 gwmetric=0
我把路径改了C:\Config.ini
或按你原来的也是一样一闪而过,没有根据Config.ini里的计算机名去改网关
我自己刚学批处理,这也是在网上找来的,望这位人兄帮忙想想办法,在这先谢过了
|
|
2006-12-4 14:42 |
|
|
tghksj
社区乞丐
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-2
状态 离线
|
 『第
4 楼』:
我前天写的,不知道对你有没有用.
@ECHO OFF
CLS
ECHO "TGHKSJ.CMD" 版本20061130(以日期为版本号) 作者:tghksj 地址:http://w.vicp.net
setlocal
:VERSION
ver | find /i "Windows XP" > nul
IF NOT errorlevel 1 GOTO :START
ECHO.
ECHO.
ECHO 此程序只在Windows XP操作系统下测试通过.
ECHO 其他版本不能保证正常运行.
GOTO :QUIT
:START
IF NOT "%~1"=="%*" GOTO :SYNTAX
IF /I "%~1"=="/l" GOTO :LIST
IF /I "%~1"=="/s" GOTO :SET
GOTO :HELP
:SYNTAX
echo.
echo.
echo !!参数错误!!
echo ________________
echo 不带参数直接运行本程序将显示帮助信息,并按提示操作.
echo.
GOTO :HELP
::::::::::获取MAC IP NAME并保存::::::::::::::::::::::::::::::::::::::::::::::::::↓
:LIST
Find "%COMPUTERNAME%" "%~dp0"CONFIG.txt > NUL
IF %errorlevel% == 0 GOTO :HAVELIST
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "Physical Address"`) do set MAC=%%I
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "IP Address"`) do set IP=%%I
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "Subnet Mask"`) do set MASK=%%I
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "Default Gateway"`) do set GATEWAY=%%I
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "DNS Servers"`) do set DNS1=%%I
FOR /F "skip=19 tokens=1 usebackq" %%I in (`ipconfig /all`) do set DNS2=%%I
ECHO %MAC% %COMPUTERNAME% %IP% %MASK% %GATEWAY% %DNS1% %DNS2%>>%~dp0CONFIG.txt
IF /I "%~1"=="/l" EXIT
ECHO 信息收集完毕并保存到 %~dp0CONFIG.txt
GOTO :QUIT
::::::::::获取MAC IP NAME并保存::::::::::::::::::::::::::::::::::::::::::::::::::↑
:::::::::::::::::::::::::::::::::::::::::::::::::::::CONFIG.txt::::::示例::::::::↓
::::%%I %%j %%k %%l %%m %%n %%o
::::MAC COMPUTERNAME IP MASK GATEWAY DNS1 DNS2
::::00-E0-4C-49-83-A9 t21 222.173.24.66 255.255.255.192 222.173.24.65 219.146.0.130 219.150.32.132
:::::::::::::::::::::::::::::::::::::::::::::::::::::CONFIG.txt::::::示例::::::::↑
:::::识别MAC,并据此进行继续操作::::::::::::::::::::::::::::::::::::::::::::::::::↓
:SET
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "Physical Address"`) do set MAC=%%I
find /i "%MAC%" "%~dp0CONFIG.txt" > NUL
IF %errorlevel% == 1 GOTO :NO_LIST
FOR /F "tokens=2,3,4,5,6,7" %%j in ('find /i "%MAC%" "%~dp0CONFIG.txt"') do (
SET TCOMPUTERNAME=%%j
SET IP=%%k
SET MASK=%%l
SET GATEWAY=%%m
SET DNS1=%%n
SET DNS2=%%o
)
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v "Hostname" /t REG_SZ /d %TCOMPUTERNAME% /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %TCOMPUTERNAME% /f
netsh interface ip set address name="本地连接" source=static addr=%IP% mask=%MASK% gateway=%GATEWAY% gwmetric=1
netsh interface ip set dns name="本地连接" source=static addr=%DNS1% register=both
netsh interface ip add dns name="本地连接" addr=%DNS2%
GOTO :SHUTDOWN
:::::识别MAC,并据此进行继续操作::::::::::::::::::::::::::::::::::::::::::::::::::↑
:::::::::::::::::::::::重新启动计算机::::::::::::::::::::::::::::::::::::::::::::↓
:SHUTDOWN
IF /I "%~1"=="/s" GOTO :SHUT_Y
GOTO :SHUT_W
:SHUT_Y
shutdown -r -t 0
EXIT
:SHUT_W
echo.
echo 提示:
echo 信息设置完毕.建议按"R"重新启动.(推荐!)
echo -------------------------------
set /P CHS= [ 按"R"键重新启动 按"Q"键退出程序 ]?
if /I "%CHS%"=="R" goto :SHUT_Y
if /I "%CHS%"=="Q" goto :QUIT
CLS
goto :SHUT_W
:::::::::::::::::::::::重新启动计算机::::::::::::::::::::::::::::::::::::::::::::↑
:::::::::::::::::::::::帮助信息和手动选择::::::::::::::::::::::::::::::::::::::::↓
:HELP
echo.
echo -= 帮助 =-
echo ------------------------------------------------------------------
echo.
echo 可用参数:
echo.
echo /help 显示此帮助信息.
echo /l 收集客户端信息.信息包括MAC地址、计算机名、IP、子网掩码、网关、DNS。
echo /s 自动设置客户机MAC地址、计算机名、IP、子网掩码、网关、DNS。
echo.
echo 使用方法:
echo 任选一台主机为服务器,服务器任意路径新
echo 建任意名文件夹设置"完全共享",存放此程序.
echo 收集信息时客户机执行:
echo \\服务器名\本程序所在文件夹共享名\TGHKSJ.CMD /l
echo 更改可户端客户机执行:
echo \\服务器名\本程序所在文件夹共享名\TGHKSJ.CMD /s
echo 或者手动执行此程序,按提示操作。
echo.
echo -----------------------------------------------------------------
set /P CHS= [ 按"L"键收集信息 按"S"键设置信息 按"Q"键退出程序 ]?
if /I "%CHS%"=="L" goto :LIST
if /I "%CHS%"=="S" goto :SET
if /I "%CHS%"=="Q" goto :QUIT
CLS
goto :HELP
:::::::::::::::::::::::帮助信息和手动选择::::::::::::::::::::::::::::::::::::::::↑
:::::::::::::::::::::::重复收集提示::::::::::::::::::::::::::::::::::::::::::::::↓
:HAVELIST
IF /I "%~1"=="/l" EXIT
ECHO.
ECHO.
ECHO.
ECHO 提示:
ECHO 本机信息先前已经收集过.
ECHO.
GOTO :HELP
:::::::::::::::::::::::重复收集提示::::::::::::::::::::::::::::::::::::::::::::::↑
:::::::::::::::::::::::无信息记录提示::::::::::::::::::::::::::::::::::::::::::::↓
:NO_LIST
IF /I "%~1"=="/S" EXIT
ECHO.
ECHO.
ECHO.
ECHO 提示:
ECHO 没有找到本机信息记录
ECHO 请检查%~dp0CONFIG.txt.
ECHO.
GOTO :HELP
:::::::::::::::::::::::无信息记录提示::::::::::::::::::::::::::::::::::::::::::::↑
:::::::::::::::::::::::提示退出::::::::::::::::::::::::::::::::::::::::::::::::::↓
:QUIT
echo ________________________________________________________
echo.
echo http://w.vicp.net
echo ________________________________________________________
echo [按任意键退出]
echo ------------------------------------------------------
echo.
if /I "%1"=="" pause>NUL
:::::::::::::::::::::::提示退出::::::::::::::::::::::::::::::::::::::::::::::::::↑
|
|
2006-12-4 14:49 |
|
|
capcom881
新手上路

积分 11
发帖 5
注册 2006-11-21
状态 离线
|
『第
5 楼』:
在这先谢过了,太复杂我看不明,我才刚开始学习批处理,很多地方都没搞清楚!我只是想用简单几段命令读取Config.ini里写的计算机号,然后相同就执行写网关的命令!
|
|
2006-12-4 14:58 |
|
|
tao0610
高级用户
    朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
『第
6 楼』:
你上面的应该是一条命令断开了!
@echo off
findstr "\<%ComputerName%\>" "c:\Config.ini">nul&&goto 设置||echo 计算机名不对应!
pause>nul&goto :eof
:设置
netsh interface ip set address name="本地连接" gateway=192.168.0.254 gwmetric=0 >nul
echo/重新设置了网关!&pause>nul [ Last edited by tao0610 on 2006-12-4 at 03:51 PM ]
|

认识自己,降伏自己,改变自己,才能改变别人! |
|
2006-12-4 15:34 |
|
|
capcom881
新手上路

积分 11
发帖 5
注册 2006-11-21
状态 离线
|
『第
7 楼』:
上面的都试过了~是不是windows2003系统执行无效呢~不解中!
|
|
2006-12-4 18:11 |
|