Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 4

Автор: Elroir
Дата сообщения: 11.02.2008 15:12
batniki

Код:
@echo off
netstat -a | find "UDP" | find "1900" >nul && start "" notepad.exe || start "" calc.exe
Автор: Takuja
Дата сообщения: 11.02.2008 15:46
Здравствуйте ГУРУ и те кто не очень.
Посидел, почитал, и не нашол ни одного нормального ответа.
Такой вопрос у меня:
Необхордимо одним батником определить мак адрес машины, и по определенному имени, запустить ту или иную часть кода, в зависимости от списка доступных мак адресов. К сетевому администрированию это не относиться.

Вроде бы легко, но как показывает практика, ни системных переменных ни точного ответа через стандартные средства СМД не получить (может я просто не знаю). Причём такой батник должен работать локально от имени администратора, а не по сети.

Повторю вопрос:
1. Определить мак адрес машины (считается что сетевых адаптеров по одному на машине)
2. Сравнить с списком
3. Запустить нжный участок кода.

Или можно упростить до
1. Определить мак адрес
2. Запустить файл "мак адресс.ВАТ"

Уже целую неделю думаю, ничего не могу придумать.
ПОМОГИТЕ
Автор: Elroir
Дата сообщения: 11.02.2008 16:49
Takuja
Второй вариант (можно сделать и первый, только непонятно с каким списком сравнивать):

Код:
for /f "tokens=3 delims=.: " %%a in ('ipconfig /all ^| find "Physical Address"') do set "mac=%%a"
call %mac%.bat
Автор: batniki
Дата сообщения: 11.02.2008 18:28
Elroir, СПАСИБО ВАМ
А вот... возможно с помощью батника как-нибудь ускорить мультимедийный таймер Win? (mmtimer (Directx вроде))
Автор: king_stiven
Дата сообщения: 11.02.2008 18:29
Akam1

Цитата:
Полезные утилиты

Автор: Elroir
Дата сообщения: 11.02.2008 18:58
batniki

Цитата:
А вот... возможно с помощью батника как-нибудь ускорить мультимедийный таймер Win?

Нет.
Автор: Takuja
Дата сообщения: 12.02.2008 00:30
Elroir твой код не прошол
написал такой батник:

Код: for /f "tokens=3 delims=.: " %%a in ('ipconfig /all ^| find "Physical Address"') do set "mac=%%a"
echo %mac%.bat
pause
Автор: Elroir
Дата сообщения: 12.02.2008 00:40
Takuja
1. Что выводит команда "ipconfig /all"?
2. Дай пример списка адресов.
Автор: Elroir
Дата сообщения: 12.02.2008 03:11
Takuja
Дальше тебе поможет кто-нибудь другой - у меня до следующей недели не будет возможности добраться до компа.

Автор: MammothDEL
Дата сообщения: 12.02.2008 04:15
Проститите.. такой вопрос

в батнике есть следующие строки

@Echo Приступить к копированию?
@Echo y - да
@set /P YES=%y
@if /I "%YES%" == "y" goto UCopy

При запуске в консоли выглядит так

Приступить к копированию?
y - да
y(здесь мигает курсор)

Как скрыть "y" перед курсором?

ps Если "y" заменить на цифру (например "1"), то перед курсором она не появляется
Автор: king_stiven
Дата сообщения: 12.02.2008 06:12
MammothDEL

Код: @Echo Приступить к копированию?
@Echo y - да
@set /P YES=
@if /I "%YES%" == "y" goto UCopy
Автор: 01MDM
Дата сообщения: 12.02.2008 08:03
Takuja

Если активно несколько интерфейсов, в переменной %mac% будет последний. Можно исправить для всех.

Код:
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig -all ^| findstr [A-Z0-9]-') do set mac=%%i
set mac=%mac: =%
echo %mac%
Автор: Takuja
Дата сообщения: 12.02.2008 08:50
Так парни написал же, интерфейс всего один на компьютер, второй вариант мне бы больше подошол, просто определили мак адрес, запустили батник с таким же именем как и полученый макадрес

Отвечая на вопрос Elroir


Код: Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : comp34
Основной DNS-суффикс . . . . . . : napalm.lo
Тип узла. . . . . . . . . . . . . : гибридный
IP-маршрутизация включена . . . . : нет
WINS-прокси включен . . . . . . . : нет
Порядок просмотра суффиксов DNS . : napalm.lo

Подключение по локальной сети 2 - Ethernet адаптер:

DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : NVIDIA nForce Networking Controller
Физический адрес. . . . . . . . . : 00-04-4B-80-80-03
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 192.168.0.34
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.0.254
DNS-серверы . . . . . . . . . . . : 192.168.0.254
Основной WINS-сервер . . . . . . : 192.168.0.252
Автор: 01MDM
Дата сообщения: 12.02.2008 09:00
Takuja
А ну да, про getmac и не вспомнили

Код:
@echo off
setlocal
for /f "tokens=1" %%i in ('getmac /nh') do set mac=%%i
echo %mac%
Автор: Takuja
Дата сообщения: 12.02.2008 09:16

01MDM вот ответ твоего кода, что то там не то


Код:
d:\>setlocal
d:\>for /F "tokens=1" %i in ('getmac /nh') do set mac=%i
d:\>set mac=00-04-4B-80-80-03
d:\>set mac=\Device\NwlnkIpx
d:\>echo \Device\NwlnkIpx
\Device\NwlnkIpx
d:\>pause
Для продолжения нажмите любую клавишу . . .
Автор: 01MDM
Дата сообщения: 12.02.2008 09:23
Takuja
Покажи что у тебя выводит команда getmac /nh
У меня так:

Код:
00-E3-4C-A2-02-EA \Device\Tcpip_{950B7834-3FEC-44B3-AEDC-63B174539635}
Автор: Takuja
Дата сообщения: 12.02.2008 09:29
Да пробелы в моих батниках погоды не делают
гетмак выводит еще и ветку \Device\NwlnkIpx
получается результат
00-04-4B-80-80-03 \Device\Tcpip_{950B7834-3FEC-44B3-AEDC-63B174539635}, \Device\NwlnkIpx

Это вызвано тем что у меня установлен протокол IPX. Он использется многими приложениями в моей среде. Удаление протокола приводит вывод в нужный формат, но этот вариант отпадает.

Шо теперь делать?
Автор: 01MDM
Дата сообщения: 12.02.2008 09:37
Takuja
Выводится только это? в одну строчку? Тогда должно работать.


Цитата:
получается результат
00-04-4B-80-80-03 \Device\Tcpip_{950B7834-3FEC-44B3-AEDC-63B174539635}, \Device\NwlnkIpx


Попробуй так:

Код:
@echo off
setlocal
for /f "tokens=1" %%i in ('getmac /nh') do (set mac=%%i && goto:next)

:next
echo %mac%
Автор: Takuja
Дата сообщения: 12.02.2008 10:35
не не, ответ в две строки
00-04-4B-80-80-03 \Device\Tcpip_{950B7834-3FEC-44B3-AEDC-63B174539635},
\Device\NwlnkIpx
в форме просто не видно есть там переход строки или нету

Вообщем
Код:
@echo off
setlocal
for /f "tokens=1" %%i in ('getmac /nh') do (set mac=%%i && goto:next)

:next
echo %mac%
Автор: 01MDM
Дата сообщения: 12.02.2008 10:48
Takuja
Только на XP Home работать не будет, там нет getmac.exe
Автор: ProbaRK
Дата сообщения: 12.02.2008 11:52
И на машинах, где 1394-соединение присутствует выдаст первый по списку MAC, интересно это сетевой контроллер будет или firewire? Соответственно наличие 2-х сетевушек... (была встроенная на плате 100mbps, добавили еще одну Gigabit ethernet)
Автор: 01MDM
Дата сообщения: 12.02.2008 16:36
ProbaRK
Задача была только для одного интерфейса, надо больше - это легко изменить.
Автор: jupiter1976
Дата сообщения: 12.02.2008 17:19
Уважаемые!
Как при помощи батника или скрипта запустить Control Userpasswords2
Автор: 01MDM
Дата сообщения: 12.02.2008 17:28
jupiter1976

start Control Userpasswords2
Автор: batniki
Дата сообщения: 13.02.2008 03:29
Помогите, нужно прочитать файл и если он пустой сделать goto
и еще... как удалять при определение IP пробел перед ним и сделать не запись в файл, а переменную set ip=%%i ?
For /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr "IP-"') do echo %%i>>ip.txt
Автор: Maza Faka
Дата сообщения: 13.02.2008 06:39
batniki
1.

Код: @echo off
for %%a in (test.txt) do if %%~za equ 0 goto msg
::your code
goto :eof

:msg
echo file is empty
Автор: Joolz
Дата сообщения: 13.02.2008 14:47
как можно получить имя текущего каталога?
нужно чтобы было не "\Program Files\Utility\Soft\ProgramDIR\" а просто "ProgramDIR"
Автор: 01MDM
Дата сообщения: 13.02.2008 15:05
Joolz


Код:
for /f "tokens=*" %%i in ("%cd%") do echo %%~nxi
Автор: Takuja
Дата сообщения: 13.02.2008 16:37
Парни это сново я кароче такая тема:
Эта команда нада для настройки айпи адреса и т.д.

Код: netsh interface ip set address "Подключение по локальной сети" static 10.131.2.163 255.255.255.0 10.131.2.129 1
Автор: shva
Дата сообщения: 13.02.2008 18:39
Подскажите, пожалуйста, как из строки получить построку по индексу-переменной?
Вот так не получится:
set var=qwerty
set indx=3
set sim=%var:~indx,1%
echo %sim%

А как надо?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: Доступ к реестру через RegEdit?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.