![]() |
Скрипт для случайного выбора строки из файла
Здравствуйте. Решил написать сюда, вдруг кто поможет, самому не получается решить эту проблему.
Суть такова: нужен скрипт, который из заранее созданного txt-файла извлечет значение каждой строки в переменную, причем переменные должны быть числовыми, и нарастать с шагом 1. То есть, у нас есть файл с содержанием Код:
crossfire.bsp Дальше нужно осуществить рандомную выборку строки по имени переменной, для этого я нашел кусок кода Код:
call :RND 1 10 n Для чего всё это нужно - при запуске игрового сервера получить список всех установленных карт и случайно выбрать одну из них. Если кто подскажет, как все это выполнить в bat-сценарии, буду очень благодарен. |
Anonymоus, где-то так:
Код:
@Echo Off |
Спасибо, что откликнулся - но скрипт работает не совсем так, как нужно. Каждый раз выбирается одна и та же строка.
UPD: Попробовал запустить отдельно генератор рандомных чисел - каждый раз выдает одно и то же, значит проблема в нем. |
Цитата:
|
Цитата:
|
Цитата:
2. Запускать батники из одной CMD-сессии/другого батника, а не создавать каждый раз новую. |
Спасибо, разобрался, организовал цикл - N запусков генератора чисел внутри скрипта, где N основано на миллисекундах в текущем времени на момент запуска. Теперь все работает.
|
For /F "Tokens=1,2 Delims=[]" %%i In ('Find /N "7777" "temp.txt"') Do Set $_%%i=%%j
А как можно в дальнейшем применить переменную $_%%i чтоб работать с каждой строкой, а то если просто посмотреть результат переменной Цитата:
Цитата:
а потом со строкой $_5= |
|
Время: 13:47. |
Время: 13:47.
© OSzone.net 2001-