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

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

systemroot 30-01-2011 13:16 1600365

messenger для локальной сети на bat
 
@echo off
title messenger
sc config messenger start= auto
net start messenger
color 79
chcp 1251
mode con: cols=80 lines=25
set /P list="Enter IP: "
:eof
set /P text="Enter a message: "
net send %list% %text%
call:eof

amel27 30-01-2011 17:41 1600542

вместо IP можно вводить имя хоста... а если в сети развернут WINS-сервер, то можно сваять батник и для отправки по имени пользователя

systemroot 30-01-2011 17:54 1600550

Цитата:

Цитата amel27
а если в сети развернут WINS-сервер, то можно сваять батник и для отправки по имени пользователя »

можно код батника?

amel27 31-01-2011 05:51 1600871

systemroot,
есть два способа обращения к WINS: штатной командой NETSH и через утилиту NBLOOKUP

1-й способ требует как минимум членства пользователя в группе "WINS users" сервера, я уже постил код с использованием этого метода, когда у меня были такие права, теперь политика безопасности у нас сменилась и адаптировать его под текущую задачу нет возможности

пример кода для 2-го способа:
Код:

@echo off

set /p host="Enter Host IP or User Name:"
set /p text="Enter text message:"

for /f "tokens=2*" %%a in (
'nblookup /x 03 %host%^|Find "IP Address"'
) do ping -n 1 %%b >nul&& net send %%b "%text%"


NiOl 04-02-2011 18:07 1604535

Шутки ради - покапался в старых запасниках - и "оно" нашлось! Когда на работе винда обновилась до SP2 (или это уже был sp3?) некоторые вещи, например net send, оказались недоступными... с батниками я тогда почти не возился - про нововведения не слышал, а старых возможностей явно не хватало... но повозившись денек на отладке запустил свой "офисный чат" - занятие оказалось вполне веселое но приходилось от тормознутости чистить "хистори" - ибо когда набиралось с десяток килобайт новые сообщения появлялись по несколько секунд и сильно "отвлекали" скроллингом от работы.
* особой гордостью было решение отслеживания изменений в чате... сейчас я бы просто проверил дату/время файла...

Вобщем запустил, проверил - работает ;)

Chat.bat:
Код:

@Echo off
rem Chat Send [msg] (* = выход)

set Svr=\\192.168.0.2\tmp\Chat.txt
set Lock=C:\ChatLock.tmp
set Msg=%date% %time% %UserName%:       

if "%1"=="~~" goto View
if "%1"=="*" if "%2"=="" goto Quit

if exist %Lock% goto GetMsg
echo Erase Me!>%Lock%
copy nul %Lock%2>nul
start /low "Chat" %0 ~~

:GetMsg
if "%1"=="" goto Send
set Msg=%Msg% %1
shift
goto GetMsg

:Send
echo %Msg%>>%Svr%
goto End

:Quit
del %lock%
goto :End

:View
rem Выходить надо по звездочке, иначе окно просмотра само не откроется. См. Lock-файл!
if not exist %Lock% goto Finish
rem Ждем изменений в чате
dir %Svr%>%Lock%1
fc /b %Lock%1 %Lock%2 >nul
if not errorlevel 1 goto View
del %Lock%2 >nul
ren %Lock%1 *.???2 >nul
cls
type %Svr%
echo 
goto View

:Finish
del %Lock%*>nul

:End



Время: 10:00.

Время: 10:00.
© OSzone.net 2001-