Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


$Userlist - список пользователей, по 1 на строку. Например, так:
Код: Выделить весь код
\\192.168.1.217
\\MORFEY
\\BIBLIOTEKA
\\MICROSOF-D58208
$Sharename - Название общей шары на всех компах в сети
$LocalShare - Путь к общей шаре на этом компе
$Program - Нужная программа
Если компьютер не в сети, то опрашивать его может до 20 секунд, чтобы не казалось, что скрипт завис, я добавил индикацию текущего адреса

Код: Выделить весь код
@Echo Off
Set $Userlist=userlist.txt
Set $Sharename=Temp
Set $LocalShare=D:\Temp
Set $Program=C:\Windows\notepad.exe

Set /A $isRunning=0
For /F "tokens=*" %%l In (%$Userlist%) Do (
Echo Checking... %%l\%$Sharename%\
If Exist %%l\%$Sharename%\isRunning.flag Set /A $isRunning=$isRunning+1
)
If Not %$isRunning%==0 (Exit) Else (Echo.>"%$LocalShare%\isRunning.flag")
Echo Do not close this window
Call "%$Program%"
Del "%$LocalShare%\isRunning.flag"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:27, 23-02-2011 | #2