概述:获取 IP

获取当前ip到剪切板

客户端开发远程调试每次都需要获取机器的ip,然后手动填写,较为麻烦,因此简单做了一个可以获取ip到剪切板当中的批处理脚本,可以获取系统当前ip到剪切板中。

[toc]

获取ip

获取ip的命令有多种,最终实现就是只要能打印出当前系统ip的命令都可以。

  • IPC]onfig
  • [[【CMD】route|route]] print

以下两个脚本就是从上述两个命令当中获取ip地址:

ipconfig

@echo off
 
for /f "Tokens=2 delims=:" a)
 
echo %IP%
 
pause

route print

@echo off
 
for /f "tokens=4" a)
 
echo 你的局域网IP是: %IP%
 
pause

for /f的用法:

For命令语踞饽参数F中,最难理解的就是DelimsTokens两个选项,本文简单的做一个比较和总拮。 “For /f”常用来解析文本,读取字符串。分工上,delims负责切分字符串,而tokens负责提取字符串。如果把字符串当作蛋糕,Delims像刀子,用来切蛋糕,tokens像叉子,用来取切好的蛋糕。

powershell

(ipconfig|select-string "IPv4"|out-string).Split(":")[-1]

输入到剪切板

剪切板的关键字为:clip

使用 clip \? 可以查看帮助

c:\windows\system32>clip /?
 
clip
 
描述:
    将命令行工具的输出重定向到 windows 剪贴板。这个文本输出可以被粘贴
    到其他程序中。
 
参数列表:
    /?                  显示此帮助消息。
 
示例:
    dir | clip          将一份当前目录列表的副本放入 windows 剪贴板。
 
    clip < readme.txt readme.txt 的一份文本放入 windows 剪贴板。
 
c:\windows\system32>

结合以上两个命令,脚本稍微修改一下就能实现获取ip到剪切版的功能。

完整脚本

@echo off
 
for /f "tokens=4" a)
 
echo 你的局域网IP是: %IP%
 
echo %IP% | clip
 
pause
 
@rem 或者使用定时
@rem timeout /t 5