Сохраните UUID и IP-адрес компьютера в файле через командный файл - PullRequest
0 голосов
/ 05 февраля 2019

Мне нужно создать текстовый файл с данными UUID и IP-адреса машины через командный файл, что-то вроде этого:

CAA8A570-86FF-81E4-3398-0071C21A28CE 192.168.0.0

Я использовал эти команды, но не могу понять, как поместить информацию в тот же файл.

wmic csproduct get "UUID" > C:\UUID.txt
ipconfig /all | find /i "phy" > C:\MAC.txt

1 Ответ

0 голосов
/ 05 февраля 2019

Можно получить IP-адрес и UUID компьютера через командный файл.Однако неясно, что вы хотите с ними делать.Итак, я покажу вам способ их получения и сохраню их значение в переменной.Тогда делайте все, что хотите:

@echo off
rem Script to get the UUID and IP address of this computer.

rem Get IP address:
for /F "tokens=2 delims=(:" %%A IN ('ipconfig /all ^| findstr /c:"IPv4"') do (
    for /F "tokens=*" %%B IN ("%%A") do (
        rem Set the IP address into the IP_address variable:
        set "IP_address=%%B"
    )
)

rem Get UUID:
for /F %%A IN ('(wmic csproduct get "UUID"^) ^| findstr /c:"-"') do (
    rem Set the UUID in the UUID variable:
    set "UUID=%%A"
)

rem Echo the results
echo We have found that this computer has a UUID of %UUID%.
echo We have also found the IP address of this computer. It is: %IP_address%

Если вы хотите перенаправить их в файл в формате, упомянутом в вашем вопросе, используйте:

(echo %UUID%  %IP_address%)>filename.txt

И если вы хотите добавить их, используйте:

(echo %UUID%  %IP_address%)>>filename.txt

Вы можете лучше понять, как работает мой код, если я покажу вам вывод каждой обработанной команды.


ipconfig /all | findstr /c:"Ipv4":

Вывод этого (для меня):

   IPv4 Address. . . . . . . . . . . : xxx.xxx.x.x(Preferred)

Я не уверен, что вы получаете эти круглые скобки.

Цикл for /F, который обрабатывает команду, имеет * 1022Опции * и delims=(:.

  • delims=(: опция означает, что не нужно разбивать на токены символы ( и :.Тогда токены будут (разделены |): IPv4 Address. . . . . . . . . . . | xxx.xxx.x.x|Preferred).Я удалил символы (:, как вы можете видеть.Токен, который содержит IP-адрес, является вторым, поэтому я выбираю его, используя:
  • tokens=2 option.

Поскольку в его начале есть один пробел, я делаю другойвыполните цикл, чтобы удалить пробелы в начале, используя опцию tokens=*.

Наконец, IP-адрес установлен в переменную IP_address и он готов к использованию!


(wmic csproduct get "UUID") | findstr /c:"-":

Выход этой команды - просто UUID (здесь нет дополнительных циклов):

F5A91381-529E-11CB-A155-BF406BD05412

Итак, я просто установил его в переменную (UUID) и он готов к использованию!


Чтобы увидеть, что означает «перенаправление» и «добавление», я предлагаю следующие ссылки для чтения:

Также я предлагаю открыть cmd, ввести следующие команды и внимательно прочитать их вывод:

  • for /?
  • wmic /?
  • findstr /?
  • rem /?
  • set /?
  • echo /?

, что, несомненно, поможет вам понять мою трескуе.

...