Как ссылаться на случайные числа в пакетных файлах (%random%)

#windows #batch-file

#Windows #пакетный файл

Вопрос:

Я столкнулся с довольно странной ситуацией.

Я сгенерировал случайное число в пакетном файле, которое в основном создает файл

например > %random%%random%.txt

Хотя, если бы я должен был ссылаться на этот случайно сгенерированный файл на более позднем этапе сценария, как бы я это сделал? (Имея в виду, что сделать что-то вроде *.txt не сработает, поскольку существуют сотни текстовых файлов).

Ответ №1:

Вы просто сохраняете сгенерированное значение в переменной.

 set x=%random%%random%
echo %x%
set filename=file%x%.txt
echo %x%
echo %filename%
find /n /v "" < %filename%
echo %x%
echo %filename%
  

После того, как они были назначены с помощью set , %x% и %filename% , они больше не изменятся.

Комментарии:

1. @Хит Ханникатт. Привет, похоже, это не работает в моем скрипте:

2. установите x=sec_alert%random%%случайный%%random%.lst

3. При использовании его с командой find генерируется другое число

4. Я только что получил следующее для работы. Вы используете расширение .bat или .cmd? установите x =%random% set filename=file%x%%x%.txt найдите /n / v «» < %filename%

5. Я использую файл cmd, но только что попробовал переименовать в bad, и происходит то же самое