获取IP地址的最后3位数并更新当前用户bat文件

时间:2015-02-03 18:23:21

标签: batch-file

我需要获取正在运行该文件的计算机的用户IP地址的最后3位数字。我这样做之后我想更新当前用户,用户名为dra123(其中123代表IP地址)

我该怎么做? 可以这样做吗?

1 个答案:

答案 0 :(得分:1)

获取IPV4的最后三位数字:

for /F "tokens=4 delims=.:" %%G in (
    'ping -4 %COMPUTERNAME%^|find "Reply from"'
) do set "IP=000%%G"
set "last3digits=%IP:~-3%"

添加前导零,例如为{= 002

提供192.168.1.2

抱歉,我不知道如何更改当前用户名,但您可以使用下一个命令的输出来了解自己:

wmic USERACCOUNT where "name='%username%'" get * /format:Textvaluelist.xsl

wmic USERACCOUNT /?

wmic USERACCOUNT set /?

编辑仅仅是真实而简单的:不是微不足道的,不是一步到位的程序和许多后果。您即将更改username(通常称为%username%),但字面使用username时会保持一致性。例如(绝对不详尽列表):

for /F "tokens=*" %G in ('set^|find /I "%username%"') do @echo %G
for /F "tokens=*" %G in ('reg query "HKCU\Volatile Environment"^|find /I "%username%"') do @echo %G
for /F "tokens=*" %G in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"^|find /I "%username%"') do @echo %G

不确定Windows是否进行了所有更改以保持一致性(Windows XP没有)