随机抓取多个文件并将其移动到文件夹

时间:2019-03-12 03:11:57

标签: batch-file

我在一个文件夹中放置了一个包含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 :(得分:0)

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个随机文件。真的很抱歉,因为粗心而浪费时间。