用bat如何取得机器名

用bat如何取得机器名,第1张

具体的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 off

for /f "tokens=1 delims==" %%i in (atxt) do (

  if "%%i"=="%computername%" >注册码ini echo %%j

)

pause

以上就是关于用bat如何取得机器名全部的内容,包括:用bat如何取得机器名、批处理,把获取IP地址及计算机名输出到TXT文本,请注意XP及WIN7系统的!、win7下批处理根据MAC地址自动修改IP,计算机名,计算机描述等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10070536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存