Board logo

标题: 请教在批处理中加入hostname,ip地址等信息的方法 [打印本页]

作者: inhell     时间: 2006-10-25 04:51    标题: 请教在批处理中加入hostname,ip地址等信息的方法

现在我有100台windows主机,需要在上面建立一个ovo的用户,用户的密码根据该计算机的hostname,ip地址来
例: 其中一台机器的hostname是kkk , ip地址是192.168.1.111
那么我在这台机器上建立ovo用户,密码设置为kkk111
现在我想使用批处理来完成这100台机器的工作
net user ovo password /add

问题: 不知道hostname和ip地址的最后一位如何带进password去,,请高手回答 谢谢
作者: inhell     时间: 2006-10-25 04:57
在linux下 我可以使用(假设linux创建用户的命令跟windows一致)

net user ovo `hostname``ipconfig |grep IP|awk  '{print $1}')` /add

诸如此命令来完成 用windows批处理如何实现?
作者: 9527     时间: 2006-10-25 05:45
@echo off&setlocal
for /f %%? in ('hostname') do set a=%%?
for /f "tokens=1,2 delims=:" %%a in ('ipconfig/all^|findstr /i /c:"IP Address"') do call :chu %%b
:chu
for /f "tokens=4 delims=." %%x in ("%1") do set b=%%x&goto :eof
net user ovo  %a%%b% /add
作者: lxmxn     时间: 2006-10-25 06:07

  试试下面的代码,测试环境是Windows XP sp2.有任何疑问请跟帖讨论...
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find /i "Host Name"') do set name_=%%i
for /f "tokens=2 delims=:" %%p in ('ipconfig /all ^| find /i "IP Address"') do set ip_=%%p
set ip_=%ip_:.= %
set name_=%name_: =%
for /f "tokens=4* delims= " %%a in ("%ip_%") do set ip__=%%a
echo %name_%%ip__%
net user ove %name_%%ip__% /add

作者: inhell     时间: 2006-10-26 02:57
谢谢2位高手, 我就用你们现成的东西了
作者: htysm     时间: 2007-3-9 05:15
set ip_=%ip_:.= %

这个可以解释一下吗? 谢谢.
作者: lxmxn     时间: 2007-3-9 05:27


  Quote:
Originally posted by htysm at 2007-3-8 16:15:
set ip_=%ip_:.= %

这个可以解释一下吗? 谢谢.

  将ip变量中的所有"."替换为" "(空格)。