具体的BAT文件我写不出来,但是我可以为你提供一点思路
你可以编写一个BAT程序功能是读取注册表键值
机器名存放在注册表的下面位置:
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\ComputerName\\ComputerName下的
ComputerName子键的值就是机器名
regedit /e 注册表文件名 导出注册表
我这个跟系统没什么关系。
开始-运行 cmd 回车
在出现的DOS窗口中输入D: 再回车
然后输入 ipconfig /all >1txt 再回车
然后去D盘下找名称是1的一个文本文件。
DOS窗口可参考下图
第一步、统计MAC地址
所有电脑开机,统计现在获取的IP地址,抄的时候记两样东西,计算机编号,IP地址最后一位,统计完以后,用一个局域网扫描软件扫描一次网段内所有机器,然后运行cmd,用ARP-A命令就可以获取到所有电脑的现在的IP以及电脑的MAC地址;
第二步,规划
制作一个excel表,分五列,先把用ARP-A命令获取到的IP地址和MAC地址粘贴进去,在cmd命令窗口中复制的时候要记住,先复制IP,粘贴到一列,再复制MAC地址,粘贴到另一列,不要IP、MAC一起复制,这样一粘贴IP和MAC会在一个单元格里,再输入这台电脑规划的计算机名;
第三步、制作批处理
把这个表弄好后,直接把这个做个批处理,代码如下:
@echo off
echo 正在配置IP地址、DNS请稍候……
set MASK=2552552550
set GATEWAY=192168103254
set DNS1=20296128143
set DNS2=2029612868
set WINS=192168103254
for /f "tokens=12 delims= " %%i in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%i
for /f "tokens=1,2" %%i in ('ipconfig /all^|find "Ethernet adapter"') do set Ethernet=%%k
for /f "tokens=1,2" %%i in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "name=%%i"&set "IP=%%j"
for /f "tokens=4" %%j in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "p=%%j"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul
netsh interface ip set address "%Ethernet:~,-2%" static %IP% %Mask% %GATEWAY% 1 >nul 2>nul
netsh interface ip set dns "%Ethernet:~,-2%" static %DNS1% register=PRIMARY >nul 2>nul
netsh interface ip add dns "%Ethernet:~,-2%" %DNS2% index=2 >nul 2>nul
netsh interface ip set wins "%Ethernet:~,-2%" static %WINS% >nul 2>nul
exit
A01 192168103101 10-60-4b-77-fe-a0 北三楼A01
A02 192168103102 10-60-4b-8b-50-be 北三楼A02
A03 192168103103 10-60-4b-88-61-7f 北三楼A03
A04 192168103104 10-60-4b-88-70-a6 北三楼A04
A05 192168103105 10-60-4B-89-46-CE 北三楼A05
A06 192168103106 10-60-4b-8b-51-3f 北三楼A06
A07 192168103107 10-60-4b-8b-53-cd 北三楼A07
A08 192168103108 10-60-4b-8b-51-38 北三楼A08
A09 192168103109 10-60-4b-77-e5-c4 北三楼A09
A10 192168103110 10-60-4b-77-ea-c2 北三楼A10
B01 192168103111 10-60-4b-77-e7-e6 北三楼B01
B02 192168103112 10-60-4b-77-fe-80 北三楼B02
B03 192168103113 10-60-4b-88-5e-cc 北三楼B03
B04 192168103114 10-60-4b-77-ea-a9 北三楼B04
B05 192168103115 10-60-4b-77-fe-9e 北三楼B05
B06 192168103116 10-60-4b-77-e7-eb 北三楼B06
B07 192168103117 10-60-4b-88-70-a1 北三楼B07
B08 192168103118 10-60-4b-8b-50-99 北三楼B08
B09 192168103119 10-60-4b-86-2f-d2 北三楼B09
B10 192168103120 10-60-4b-77-fe-f4 北三楼B10
@echo off
set /a n1=%random%%%9
set /a n2=%random%%%9
set /a n3=%random%%%9
set /a n4=%random%%%9
set /a n5=%random%%%9
set /a n6=%random%%%9
set /a n7=%random%%%9
set num=%n1%%n2%%n3%%n4%%n5%%n6%%n7%
ECHO PCNetBar%num%
pause
这个运行一下你就知道怎么生成随机数了
您可以使用批处理脚本提供的 MOVE 命令来移动文件。例如,如果您的计算机名是A1-1,那么您可以在bat文件中写入以下命令:
MOVE D:\ABC\A1-1txt %USERPROFILE%\Desktop
这样就可以把D:\ABC中的A1-1txt文件移动到桌面上了。
假设原文本文件是atxt
@echo offfor /f "tokens=1 delims==" %%i in (atxt) do (
if "%%i"=="%computername%" >注册码ini echo %%j
)
pause
以上就是关于用bat如何取得机器名全部的内容,包括:用bat如何取得机器名、批处理,把获取IP地址及计算机名输出到TXT文本,请注意XP及WIN7系统的!、win7下批处理根据MAC地址自动修改IP,计算机名,计算机描述等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)