Случайно захватить несколько файлов и переместить их в папку - PullRequest
0 голосов
/ 12 марта 2019

У меня есть библиотека из 1000 вопросов, помещенных в папку. Я хочу создать тестовый банк с каждым экзаменом, взятым случайным образом из библиотеки вопросов выше. Каждая тема состоит из 10 вопросов, которые выбираются случайным образом и копируются в 1 экзаменационный лист. Пакетный скрипт решает эту проблему?

Это скрипт для копирования случайного файла, который я искал

cd e:\finaly01
set n = 0
for %% f in (*) do (
    set /A n+ = 1
    set "file [!n!] = %%f"
)
for /L %%i in (1.1,% time: ~ -1%) by set "dummy =!random!"
set /A "rand = (n*% random%)/32768 + 1"
copy "! file [%rand%]!" "e:\example"

Поскольку я хочу создать 10 случайных экзаменационных вопросов, я добавил:

for / l% x in (1, 1, 10) due
cd e:\finaly01
set n = 0
for %%f in (*) do (
    set /A n+ = 1
    set "file [!n!] = %%f"
)
for /L %%i in (1.1,% time: ~ -1%) by set "dummy =! random!"
set /A "rand = (n *% random%) / 32768 + 1"
copy "! file [%rand%]!" "e:\example"

Но, похоже, это не работает, кто-то может помочь решить эту проблему?

1 Ответ

0 голосов
/ 12 марта 2019
setlocal EnableDelayedExpansion
cd E:\finaly01
set n=0
for %%f in (*) do (
    set /A n+=1   
    set "file[!n!]=%%f" 
    ) 
    for /L %%j in (1,1,%time:~-1%) do set "dummy=!random!"
    set /A "ran=(n*%random%)/32768+1""
    copy "!file[%ran%]!" "e:\example"

Извините, потому что в скрипте есть еще несколько пробелов в переменной.Я исправил это.Это код, который может работать для меня!Требуется 1 случайный файл после 1 запуска.Извиняюсь за невнимательность, которая потеряла ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...