gpt4 book ai didi

batch-file - 需要批处理命令获取 mac 地址并比较 txt 文件吗?

转载 作者:行者123 更新时间:2023-12-03 09:51:49 28 4
gpt4 key购买 nike

如果mac不在list.txt中,如何获取pc mac地址并重新启动PC?,我只有这个getting mac命令,

for /f "tokens=3 delims=," %%a in ('"getmac /v /fo csv | findstr Ethernet"') do set MAC=%%a 
echo MAC address of this computer is %MAC%

最佳答案

  • 您使用 getmac并将结果通过 findstr过滤所需的网络适配器。
  • 您将结果存储到变量 ThisPCMAC
  • 您使用 type命令获取 list.txt 的内容通过管道传输的文件 findstr过滤 ThisPCMAC .
  • 您将结果存储到变量 FoundMAC .
  • 如果 FoundMAC定义你goto :norestart
  • 如果 FoundMAC没有定义你goto :restart
  • :restart ,您调用shutdown /r带有所需的附加参数
  • 如果有误可以调用shutdown /a在规定的时间内(此处为 10 分钟,见 /t 600)。
  • 如需更多帮助,请参阅 shutdown /?

  • 这两个文件应该在同一个目录中。 list.txt 的示例内容:

    FF-AA-BB-CC-DD-FA
    FF-AA-BB-CC-DD-FB
    FF-AA-BB-CC-DD-FC

    RestartIfThisPCMACnotInList.bat的内容:

    @echo off

    set ScriptPath=%~dp0
    set ThisPCMAC=
    set FoundMAC=

    echo.
    echo ScriptPath = %ScriptPath%


    for /f "tokens=3 delims=," %%a in ('"getmac /v /fo csv | findstr Ethernet"') do set ThisPCMAC=%%a
    echo.
    echo MAC address of this computer is %ThisPCMAC%

    for /F "usebackq delims==" %%b in (`"type %ScriptPath%list.txt | findstr %ThisPCMAC%"`) do set FoundMAC=%%b

    if DEFINED FoundMAC (
    goto :norestart
    ) else (
    goto :restart
    )


    :norestart
    echo.
    echo Found %FoundMAC% in %ScriptPath%list.txt: Nothing to do.
    goto :end


    :restart
    echo.
    echo %ThisPCMAC% not found in %ScriptPath%list.txt: Restarting...
    echo.
    echo shutdown /r /f /t 600 /d p:00:00
    shutdown /r /f /t 600 /d p:00:00
    echo.
    echo Cancel restart with the following command:
    echo shutdown /a
    goto :end


    :end
    echo.
    echo %~fp0 ended.
    pause

    :norestart 的示例输出:

    C:\test\>RestartIfThisPCMACnotInList.bat

    ScriptPath = C:\test\

    MAC address of this computer is "FF-AA-BB-CC-DD-FA"

    Found FF-AA-BB-CC-DD-FA in C:\test\list.txt: Nothing to do.

    C:\test\RestartIfThisPCMACnotInList.bat ended.
    Press any key to continue . . .

    :restart 的示例输出:

    C:\test\>RestartIfThisPCMACnotInList.bat

    ScriptPath = C:\test\

    MAC address of this computer is "FF-AA-BB-CC-DD-FD"

    "FF-AA-BB-CC-DD-FD" not found in C:\test\list.txt: Restarting...

    shutdown /r /f /t 600 /d p:00:00

    Cancel restart with the following command:
    shutdown /a

    C:\test\RestartIfThisPCMACnotInList.bat ended.
    Press any key to continue . . .

    关于batch-file - 需要批处理命令获取 mac 地址并比较 txt 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940358/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com