咋样用vbs或者批处理,自动获取本机网卡mac地址并更改proE的授权文件啊

咋样用vbs或者批处理,自动获取本机网卡mac地址并更改proE的授权文件啊,第1张

这样吧,把我原来的弄的说一下,制作了一个批处理,它会在需要改文件处生成一个新批处理,并在开机启动项里多个启动项,就是调用这新批处理的,而这批处理执行又会删除这个启动项,也就是说,利用网络传的系统,当每台机重启一次就把proe按各自的mac弄好了,但是你的实际情况不一定和我一模一样,就只把用批处理会生成的批处理代码贴给你,并删去了处理启动项的代码。我是把原要处理的文件它是licdat提前复制了一份取名为lic0txt的,并且把它原来自带的批处理合到一起了,那个批处理就是一句 ptcrypt -i licdat -o licensedat 如果你的不是这样的,自己酌情处理,不要这句已可以完成替换,但是可能还得自己去运行它的生成授权文件的程序

@echo off

set mac0=11-22-33-44-55-66

setlocal enabledelayedexpansion

cd/d "%~dp0"

copy/y lic0txt lic

for /f "tokens=3 delims=: " %%i in ('ipconfig/all^|find "Physical"')do set mac=%%i&goto :next

:next

(for /f "delims=" %%j in (lic)do (

set hs=%%j

set hs=!hs:%mac0%=%mac%!

echo!hs!))>licdat

del lic

ptcrypt -i licdat -o licensedat

echo OK

ping -n 3 1271>nul

set wmi=GetObject("winmgmts:\\\root\CIMV2")

set w=wmiExecQuery("select from win32_processor")

a="CPU名称"

for each i in w

a=a & vbcrlf & iName

next

set w=wmiExecQuery("select from win32_ComputerSystem")

a=a & vbcrlf & vbcrlf & "内存大小"

for each i in w

a=a & vbcrlf & iTotalPhysicalMemory

next

set w=wmiExecQuery("select from win32_DiskDrive")

a=a & vbcrlf & vbcrlf & "硬盘大小"

for each i in w

a=a & vbcrlf & iSize

next

set w=wmiExecQuery("select from win32_LogicalDisk where DriveType='3'")

a=a & vbcrlf & vbcrlf & "盘符----大小"

for each i in w

a=a & vbcrlf & iDeviceID & " ---- " & iSize

next

set w=wmiExecQuery("select from win32_NetworkAdapter")

a=a & vbcrlf & vbcrlf & "网络适配器"

for each i in w

a=a & vbcrlf & iProductName

next

Set w = wmiExecQuery("Select from Win32_NetworkAdapterConfiguration Where IPEnabled=True")

a=a & vbcrlf & vbcrlf & "MAC地址"

For Each i in w

a=a & vbcrlf & iMACAddress

Next

set w=wmiExecQuery("select from win32_VideoController")

a=a & vbcrlf & vbcrlf & "显卡型号----显存"

for each i in w

a=a & vbcrlf & iName & " ---- " & iAdapterRAM

next

Set FSO = CreateObject("ScriptingFileSystemObject")

set f=fsoopentextfile("xinxitxt",2,true)

fwrite "电脑信息:" & vbcrlf & vbcrlf & a

fclose

msgbox "OK"

说明:程序运行约2s(因为读取硬件信息)

部分程序命令可能出错(电脑禁用)

结果保存为“xinxitxt”

for /f "tokens=1,2 delims=:" %a in ('ipconfig ^|findstr "IP Address"') do set ip=%b

echo %ip%

不过这种方法有局限性,因为你如果有多个网卡,或者只有一张网卡,而你的ipconfig命令中显示的最后一行IP Address不是你想要的地址(有时机器安装了IPV6协议)

如果是写在批处理文件中,可以:

for /f "tokens=1,2 delims=:" %%a in ('ipconfig ^|findstr "IP Address"') do set ip=%%b

echo %ip%

你在局域网中吗如果不在局域网中,这个地址是无效的

我做过获取外网ip的程序,我的网友都是用这个获取内网ip,用其他脚本获取外网ip

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIServiceExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

For Each IPConfig in IPConfigSet

If Not IsNull(IPConfigIPAddress) Then

For Each strAddress in IPConfigIPAddress

ipad = strAddress

Next

End If

Next

set afile = createobject("scriptingfilesystemobject")opentextfile("c:\atxt")

sf = afilereadall

afileclose

if instr(sf,ipad) then createobject("wscriptshell")run "e:\testexe"

以上就是关于咋样用vbs或者批处理,自动获取本机网卡mac地址并更改pro/E的授权文件啊全部的内容,包括:咋样用vbs或者批处理,自动获取本机网卡mac地址并更改pro/E的授权文件啊、求VBS获取电脑硬件信息,并保存、dos批处理获取ip地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9769549.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存