Board logo

标题: [网络工具] 批处理取得计算机的计算机名、MAC、IP [打印本页]

作者: anyhow    时间: 2008-12-19 16:06     标题: 批处理取得计算机的计算机名、MAC、IP

本来不敢献丑,看到有朋友发了一个查找本机的ip和mac,我也想发一个类似的程序。
这个程序的功能是将本机的mac、ip等信息以本机计算机名为文件名,发送到当前用户的桌面上。
我做这个程序的目的是,为了规范网络,已经让所有人把计算机名设为个人姓名,现在要收集mac,还想做到封装(不让无关的人接触这些内容),所以在网上把我这个程序发给每个人让他们运行一下,然后把生成的文件发给我。为了封装所有文件用tmp格式,其实用记事本打开就行。
每条命令都加了注解,运行时可以删去
  1. @echo off
  2. ::关闭显示
  3. hostname >%temp%\temp1.temp
  4. ::将hostname命令的执行结果存放到临时文件中
  5. for /f %%i in (%temp%\temp1.temp) do set p=%%i
  6. ::将临时文件中的hostname赋给变量P
  7. ipconfig /all >%temp%\temp2.temp
  8. ::将ipconfig/all的结果存入临时文件
  9. set r="c:%HOMEPATH%\桌面"
  10. ::设置存放位置当前用户的桌面
  11. if exist %r%\%p%.tmp del %r%\%p%.tmp
  12. ::删除桌面上已有的原来生成的结果文件
  13. type %temp%\temp2.temp>%r%\%p%.tmp
  14. ::将临时文件中的ipconfig信息存入以计算机名为名字的
  15. ::临时文件中并将此文件放在当前用户桌面上
  16. del %temp%\temp2.temp
  17. del %temp%\temp1.temp
  18. ::删除作废的临时文件
复制代码

作者: yslyxqysl    时间: 2008-12-19 18:20

  1. hostname >%temp%\temp1.temp
  2. ::将hostname命令的执行结果存放到临时文件中
  3. for /f %%i in (%temp%\temp1.temp) do set p=%%i
  4. ::将临时文件中的hostname赋给变量P
复制代码
可简化为
  1. for /f "delims=" %%i in ('hostname') do set p=%%i
复制代码

还有“set FONT-SIZE: 16pt; FONT-FAMILY: 华文楷体">桌面"”不太对吧。

[ 本帖最后由 yslyxqysl 于 2008-12-19 18:22 编辑 ]
作者: anyhow    时间: 2008-12-22 09:03     标题: 回复 2楼 的帖子

??怎么变成set FONT-SIZE: 16pt; FONT-FAMILY: 华文楷体">桌面"”,可能是粘贴的时候出错了,我改过来
关于改进的代码,我还不知道in里可以加命令,学习了,这样果然好多了,谢谢
作者: susoren    时间: 2008-12-31 08:54     标题: re:取得计算机的计算机名

在Server 08 上运行没有任何结果,只是弹出命令行窗口然后迅速关闭
作者: anyhow    时间: 2009-1-16 08:23     标题: 回复 4楼 的帖子

没有用过server08,可能是Server 08上面系统的当前用户的桌面路径和xp中不一样吧。
作者: Batcher    时间: 2009-1-16 12:47     标题: 回复 4楼 的帖子

把@echo off删除
最后加一行pause
结果贴出来看看
作者: yuluoer    时间: 2012-4-13 16:57

厉害…………
作者: hyq912    时间: 2012-5-2 11:40

可以把所有代码简化为:
@echo off
ipconfig/all >a.txt
pause

试过了,结果和LZ的一样..
作者: netsky    时间: 2012-6-11 22:14

可以把所有代码简化为:
@echo off
ipconfig/all >a.txt
pause

试过了,结果和LZ的一样..
hyq912 发表于 2012-5-2 11:40



这个不错




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2