Войти

Показать полную графическую версию : Рандомная замена файла из выбранных файлов


Zervan
02-06-2023, 14:09
Доброго. Появился очень интересный запрос, который не могу отработать.

Требуется: создать батник, который будет заменять файлы в одной папке на рандомный файл из другой папки.
Как это выглядит:
- Есть файл в пути D:\Main\config.cfg
- Требуется его замена на любой файл из папки в пути D:\Main\Set\config*.cfg, где * = значение от 1 до 20, т.е. 20 файлов разного содержания
- Проводить для этого таймер срабатывания

Т.е. у меня есть система одного батника, который запускает проект, на основе него я сделал после "рестарта" команду в упрощенном формате:

replace D:\Main\Set\config.cfg D:\Main\ /p /r
timeout /t 300 /nobreak

Но после чего приходится ручками перезаливать нужный файл и менять название, что по сути одно и тоже с полностью ручной заменой.
Гуглив, не нашел %RANDOM% в значениях замены файла, оно используется только для числовых значений.
И findstr для копирования строк тоже не подойдет - к cfg прописаны скрипты, и найти конкретное значение не представляется возможным - он просто выдаст первое попавшееся однотипное

megaloman
02-06-2023, 19:43
@Echo Off &Cls
Set "FileOut=Z:\Main\config.cfg"
Set "BoxIn=Z:\Main\Set"

For /L %%i In (1,1,10) Do Call SET /A R=1+^(20-1+1^)*%%random%%/32768
>nul Copy "%BoxIn%\config%R%.cfg" "%FileOut%"
Exit /B




© OSzone.net 2001-2012