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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] бесконечный цикл выполнения из bat

Ответить
Настройки темы
CMD/BAT - [решено] бесконечный цикл выполнения из bat

Пользователь


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

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


здравствуйте!

Имеется bat файл, который "банит" по мак адресу некоторые ip в локальной сети.

Как можно сделать, так что бы этот файл работал бесконечно, то есть постоянно скрыто выполнял свои команды с 1 по x ??

Отправлено: 09:35, 23-08-2010

 

Аватара для sLiDeR-X

Ветеран


Автор проектов


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

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


n_i_x, структура:
Код: Выделить весь код
@echo off
chcp 866 >nul
set time=5
:loop

echo Здесь вставьте ваши команды. Повтор каждые %time% секунд.

ping 127.0.0.1 -n %time% >nul
Goto :loop
Здесь 5 - это 5 секунд паузы

Если нужно скрыто запускать, то используйте программу hidcon. Например так:
hidcon ban.cmd

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite


Последний раз редактировалось sLiDeR-X, 23-08-2010 в 10:24.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:02, 23-08-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


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

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


всё отлично работает спасибо!!!! со скрытием решил проблему через hidcon.exe

Отправлено: 10:06, 23-08-2010 | #3


Новый участник


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

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


Добрый день!

А как то можно часть кода выполнять в цикле, а часть вне цикла? Например каждую минуту создавать файл:
Код: Выделить весь код
:loop
echo %computername% > "Z:\temp\file.lock"
timeout /t 60
goto loop
, но при этом выполнять другие команды:
Код: Выделить весь код
cd /d D:\server\
start /wait StopServer.exe

timeout /t 4

del /f /q Z:\temp\file.lock

logoff

Отправлено: 15:31, 21-06-2020 | #4


Ветеран


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

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


Код: Выделить весь код
@echo off
cmd /c for /l %%i in () do @^>nul ping -n 3 127.0.0.1^&^
 rem:^>"file.txt"^& echo Создан "file.txt"^&^
 echo ------------------^&^
 echo Hello!^&^
 echo ------------------^&^
 ^(for %%a in (1 2) do @echo %%a^)^&^
 echo:
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:43, 21-06-2020 | #5


Новый участник


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

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


alpap спасибо, могли бы мне помочь чуть разобраться куда мне вставить свою часть кода:
Код: Выделить весь код
cd /d D:\server\
start /wait StopServer.exe

timeout /t 4

del /f /q Z:\temp\file.lock

logoff

Отправлено: 14:45, 22-06-2020 | #6


Ветеран


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

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


в любое место после 2-й строки, но это [timeout /t 4] придется убрать, время определяется тут: ping -n 3 для всех команд или вернее будет функции.
И вообще непонятно использование start /wait и timeout, какой смысл в этом, делайте удаление по отсутствию ошибки после запуска чего-то, вернее будет - не?

Отправлено: 21:36, 22-06-2020 | #7


Новый участник


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

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


alpap похоже это не работает так как мне нужно, сейчас опишу подробнее. Мне нужно, чтобы файл создавался циклически вне зависимости от других команд. Например вначале скрипта идет код по созданию файла каждую минуту, а далее я выполняю свои команды:
Код: Выделить весь код
@rem
@rem тут какой то хитрый алгоритм, который каждую минуту создает файл Z:\temp\file.lock и не влияет на работу кода ниже
@rem

@rem запускаю службу
net start Service
@rem жду чтобы служба подцепила оборудование
timeout /t 4
@rem запускаю приложение и жду окончание его работы
start /wait Desktop.exe
@rem после окончания работы приложения останавливаю службу, удаляю файл и выхожу из системы
net stop Service
del /f /q Z:\temp\file.lock
logoff
Так вообще возможно сделать? Спасибо за помощь!

Отправлено: 13:23, 23-06-2020 | #8


Ветеран


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

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


Цитата pedrosoft:
Так вообще возможно сделать? »
я уже пояснял, в bat команды выполняются по порядку и по мере поступления, т.е. все следующие команды будут выполнены после
Цитата pedrosoft:
созданию файла каждую минуту »
т.е. через минуту, поэтому это будет единым кодом который выполняет все команды внутри раз в минуту. И все это будет работать если этот bat будет постоянно запущен, естественно. Вот если bat будет запускать что-то извне, например планировщик, то с одной стороны все равно запуск, допустим тоже каждую минуту, но сделав несколько заданий можно сделать несколько нужных временных диапазонов, так меньше нагрузка на процессор чем если делать несколько bat с разным запуском и все держать в запущенном виде.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:20, 23-06-2020 | #9


Ветеран


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

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


Угу. Или переходить на WSH+Wbem или на PoSH.

Отправлено: 00:13, 24-06-2020 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] бесконечный цикл выполнения из bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Цикл в Powershell laipisas02 Скриптовые языки администрирования Windows 2 02-08-2010 12:51
Разное - Программа для решения простых Судоку (бесконечный цикл) m.s.dos Программирование и базы данных 3 07-01-2009 05:05
C/C++ - Цикл ganselo Программирование и базы данных 4 31-10-2008 12:13
CMD/BAT - [решено] сохранить окно CMD после выполнения bat файла WChek Скриптовые языки администрирования Windows 6 17-03-2008 11:03
бесконечный цикл. Функция не возвращает FALSE ? xamelion Вебмастеру 5 19-09-2005 14:21




 
Переход