PDA

Показать полную графическую версию : [решено] BAT для создания txt с MAC адресом и Именем комп.


Discount
16-09-2014, 12:00
Доброго времени суток. Я немного далёк от написания своих батников, поэтому прошу помощи:
Необходимо написать 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
но такое решение мне не совсем подходит, не спрашивайте почему »
Чтобы не спрашивали, Вы должны сами это написать.

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

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

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

Discount
16-09-2014, 12:46
Всё! Тема закрыта, немного отредактировал первый код:

@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
Бат работает, но в тексте отображаются "Џ®¤Є«озҐ*ЁҐ" , как с этим можно побороться? »
Использовать редактор, умеющий корректно работать с кодировкой OEM/866: Notepad++, AkelPad, Bred2/Bred3. Я пользую редактор Far Manager'а. А не делать «chcp» туда-сюда.




© OSzone.net 2001-2012