42243
  Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  Цитата:|  проверку от повторного запуска на одном компе-  писать надо, или FSViewer.exe сам повторно не запустится (на одном компе)?  |      Программа будет запускаться на обоих компьютерах, главное чтобы не одновременно (1 энкземпляр на 2 компа в сети)   Я думал что батник будет одинаков для обоих кроме путей к общим папкам.   На своем компе проверка на повторный запуск в общем не обязательна, и так видно. Главное проверить не запущена ли программа на удаленном компьютере, и если запущена, то чтобы запуск ее на своем был не возможен.      Добавлено:   Проблема решена, подсказали на другом форуме. Может кому пригодится, цитирую:   $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"  |       |