Ищете способ повторного посева партии% random% - PullRequest
1 голос
/ 12 декабря 2011

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

Я использовал эту функцию в своих вложенных циклах for (перебирая все файлы ввсе подкаталоги):

mklink "%LINKDIR%\%random%%%f" "%%f"

Возвращает почти то, что я хочу.К сожалению, каждая символическая ссылка имеет одинаковое начальное случайное число.Есть ли еще способ перезаписать значение% random%?

1 Ответ

3 голосов
/ 12 декабря 2011

Использовать отложенное расширение. То есть ставить

setlocal enabledelayedexpansion

в начале вашего командного файла и затем используйте !random! вместо %random%. См. help set для подробного объяснения темы.

Дело в том, что %random% расширяется, когда цикл for равен parsed ; таким образом, для последующих итераций (т.е. когда цикл на самом деле run ) там больше нет переменной, только значение. Это исправлено отложенным расширением.

...