Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] BAT для создания txt с MAC адресом и Именем комп. (http://forum.oszone.net/showthread.php?t=288010)

Discount 16-09-2014 12:00 2403429

BAT для создания txt с MAC адресом и Именем комп.
 
Доброго времени суток. Я немного далёк от написания своих батников, поэтому прошу помощи:
Необходимо написать BAT'ник, который создавал бы (в корне скажем диска C, а лучше туда, откуда запускается сам bat) txt файл, в котором прописывался mac адрес и имя компьютера.
Многие наверное сразу сказали бы: - "Что сложного, пропиши ipconfig /all > C:\file.txt" (или как то так), но такое решение мне не совсем подходит, не спрашивайте почему :)

В одной теме наткнулся на вот такой сценарий:

Код:

@echo off
SetLocal
 
chcp 866> nul
for /f "delims=" %%a in ('getmac /fo list /v') do (
  if not defined cpReady (
    chcp 1251> nul
    set CpReady=True
  )
  call :convert "%%a"
)
chcp 866> nul
c:\myborder.js
goto :eof
 
:convert
echo %~1>>myfile.txt

Данный код Прекрасно создаёт файлик, но не хватает для полного счастья и Hostname, как не пытался вписать рядом hostname, ничего не выходит.
Помогите. Если у кого нибудь есть свои идеи или решения, пишите)

Также попутно начало приходить в голову: А почему бы не реализовать просто bat, что то типа:
Код:

getmac /fo list /v > C:\Mac_adress.txt
hostname > C:\Mac_adress.txt

Но он не работает :sorry:

Iska 16-09-2014 12:12 2403436

Цитата:

Цитата Discount
но такое решение мне не совсем подходит, не спрашивайте почему »

Чтобы не спрашивали, Вы должны сами это написать.

Цитата:

Цитата Discount
Также попутно начало приходить в голову: А почему бы не реализовать просто bat, что то типа: »

Работает. Первая команда выводит перечисление подключений, адаптеров, адресов и транспортов в файл. Вторая переписывает содержимое того же файла именем машины. Используйте во втором случае не «>», а «>>». Либо в таком виде:
Код:

>"C:\Mac_adress.txt" (
    getmac.exe /fo list /v
    hostname.exe
)


Discount 16-09-2014 12:30 2403446

Цитата:

Цитата Iska
Работает. Первая команда выводит перечисление подключений, адаптеров, адресов и транспортов в файл. Вторая переписывает содержимое того же файла именем машины. Используйте во втором случае не «>», а «>>». Либо в таком виде:
Код:
>"C:\Mac_adress.txt" (
getmac.exe /fo list /v
hostname.exe
) »

Большое спасибо. Бат работает, но в тексте отображаются "Џ®¤Є«озҐ*ЁҐ" , как с этим можно побороться?

Discount 16-09-2014 12:46 2403451

Всё! Тема закрыта, немного отредактировал первый код:

Код:

@echo off
SetLocal
 
chcp 866> nul
for /f "delims=" %%a in ('hostname') do (
  if not defined cpReady (
    chcp 1251> nul
    set CpReady=True
  )
  call :convert "%%a"
)
chcp 866> nul
c:\myborder.js
goto :eof

:convert
echo %~1>>mac_and_name.txt

getmac /fo list /v >> mac_and_name.txt

Теперь всё отлично!)

Iska 16-09-2014 13:02 2403461

Цитата:

Цитата Discount
Бат работает, но в тексте отображаются "Џ®¤Є«озҐ*ЁҐ" , как с этим можно побороться? »

Использовать редактор, умеющий корректно работать с кодировкой OEM/866: Notepad++, AkelPad, Bred2/Bred3. Я пользую редактор Far Manager'а. А не делать «chcp» туда-сюда.


Время: 02:35.

Время: 02:35.
© OSzone.net 2001-