|
beyoungse
中级用户
积分 253
发帖 112
注册 2005-12-20
状态 离线
|
『楼 主』:
判断 计算机名称 替换文件
计算机所在IP段192.168.0.1-192.168.0.150 计算机名称对应为a001-a150
a001-a060 把D:\A.TXT 改为OK.TXT
a061-a120 把D:\B.TXT 改为OK.TXT
a121-a150 把D:\C.TXT 改为OK.TXT
谢各位大侠指教
|
|
2008-8-27 04:09 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
ipconfig /all+for能得到IP
%USERDOMAIN%是计算机名称
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-8-27 08:47 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
3 楼』:
@echo off
if "%computername%" geq "a001" (
if "%computername%" leq "a060" (
ren "D:\A.TXT" "OK.TXT"
)
) else if "%computername%" geq "a061" (
if "%computername%" leq "a120" (
ren "D:\B.TXT" "OK.TXT"
)
) else if "%computername%" geq "a121" (
if "%computername%" leq "a150" (
ren "D:\C.TXT" "OK.TXT"
)
)
|
|
|
2008-8-27 09:43 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
4 楼』:
要判断 机名和IP是否一致
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-8-27 09:51 |
|
|
dato
高级用户
积分 916
发帖 377
注册 2004-3-8
状态 离线
|
『第
5 楼』:
.\psexec.exe -accepteula @..\iplist.txt -u username -p "passwords" -c rename.cmd
rename.cmd
ren d:\a.txt d:\ok.txt
如果你用psexec一切是不是简单多了,管理大批机器极力推荐psexec非常高效方便,节省时间,一切都是鼠标点点就OK
|
http://dato.ys168.com
google search bot
http://dato.minidns.net/ |
|
2008-8-27 10:05 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
6 楼』:
@echo off
for /f "tokens=15" %%a in ('ipconfig^|findstr /i "IP"') do (
for /f "tokens=4 delims=." %%b in ("%%a") do set IP=%%b
goto :check
)
goto :eof
:check
if %IP% lss 10 (
if "a00%IP%" equ "%computername%" (
ren "D:\A.TXT" "OK.TXT"
)
) else if %IP% lss 100 (
if "a0%IP%" equ "%computername%" (
ren "D:\B.TXT" "OK.TXT"
)
) else if %IP% leq 150 (
if "a%IP%" equ "%computername%" (
ren "D:\C.TXT" "OK.TXT"
)
)
|
|
|
2008-8-27 10:29 |
|
|
shqf
初级用户
积分 35
发帖 18
注册 2008-8-10
状态 离线
|
『第
7 楼』:
楼主的意思是好象远程对192.168.0.1-192.168.0.150 的电脑进行管理吧,代码如下(假设登录远程电脑的用户名都为administrator,口令都为1111):
@echo off
for /l %%i in (1,1,150) do (
if %%i leq 60 (set fname=A.TXT) else (if %%i leq 120 (set fname=B.TXT) else (set fname=C.TXT))
call :re_name %%i
)
pause
goto :eof
:re_name
wmic /node:192.168.0.%1 /password:1111 /user:administrator datafile "c:\\%fname%" call rename c:\OK.TXT [ Last edited by shqf on 2008-8-27 at 01:09 PM ]
|
|
2008-8-27 13:03 |
|
|
beyoungse
中级用户
积分 253
发帖 112
注册 2005-12-20
状态 离线
|
『第
8 楼』:
谢过几位大侠,我用了都不是很理想
再次描述我的需求:
让此脚本在每台机器上开机运行,IP和机器名称是全部匹配好的,让不同IP段的机器看到不同的D:\OK.TXT
|
|
2008-8-27 16:18 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
9 楼』:
6楼的代码是如何“不是很理想”的?详细描述一下?
开机运行的话,可能是计算机还没有来得及分配到IP,不知道你是不是这个问题。
|
|
|
2008-8-27 16:57 |
|
|
beyoungse
中级用户
积分 253
发帖 112
注册 2005-12-20
状态 离线
|
『第
10 楼』:
Quote: | @echo off
for /f "tokens=15" %%a in ('ipconfig^|findstr /i "IP"') do (
for /f "tokens=4 delims=." %%b in ("%%a") do set IP=%%b
goto :check
)
goto :eof
:check
if %IP% lss 10 (
if "a00%IP%" equ "%computername%" (
ren "D:\A.TXT" "OK.TXT"
)
) else if %IP% lss 100 (
if "a0%IP%" equ "%computername%" (
ren "D:\B.TXT" "OK.TXT"
)
) else if %IP% leq 150 (
if "a%IP%" equ "%computername%" (
ren "D:\C.TXT" "OK.TXT"
) |
|
谢谢hat ,这个可以实现,
|
|
2008-8-27 17:21 |
|
|
beyoungse
中级用户
积分 253
发帖 112
注册 2005-12-20
状态 离线
|
『第
11 楼』:
如果只判断计算机名称怎么做?谢谢,我很菜,正在学习中.
|
|
2008-8-27 17:27 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
12 楼』:
3楼的就是只判断计算机名称
|
|
|
2008-8-27 17:40 |
|