![]() |
bat-скрипт, удаление строк, настоящий рандом
Друзья, очень прошу вашей помощи в написании скрипта.
Задача такая. В папке, где будет лежать скрипт, находится 2 файла 1.config.txt 2. config.txt.bak Файлы текстовые, содержать конфиг для работы майнера(xmr-stak-cpu), но это не суть важно. В фоне будет запущен процесс с именем xmr.exe. Скрипт должен работать в фоновом режиме на постоянку, планирую запустить его службой. Коротко, алгоритм работы скрипта таковой: Пока (true) выполнять: 1. Удалить из файла config.txt случайное количество строк(от 1-5) начиная со строки № 2. Убить процесс xmr.exe 3. Подождать случайное количество времени(от 5 до 15 минут) 4. Скопировать файл config.txt.bak на место файла config.txt 5. Убить процесс xmr.exe (таким образом перезапускается майнер и подхватывает новый конфиг, майнер работает службой) 6. Подождать случайное количество времени(от 20 до 40 минут) Конец ПОКА Проблемы с которыми я столкнулся, это в первую очередь генерация случайного числа через переменную %random%, число псевдо случайное и зависит от какой-то постоянной величины из внутренней среды виндовс. Так как скрипт будет работать на 20+ машинах одновременно нужна случайность на каждой отдельной машине. Дальше, я совсем не представляю каким образом можно удалить строки из файла config.txt. Номер строки заранее известен. |
«Настоящий рандом» Вы можете получить исключительно внешним фактором — например, подбрасывая монетку и записывая результат. Для машины это всегда будет ряд псевдослучайных чисел. В любом случае, Вам стоит подумать о WSH/PowerShell — пакетные файлы слабо подходят на указанную роль.
|
FeranD,
Вот vbs-скрипт по Вашей постановке
Код:
File1 = "config.txt" |
Время: 08:29. |
Время: 08:29.
© OSzone.net 2001-