正在寻找重新设定批次%random%种子的方法

正在寻找重新设定批次%random%种子的方法,random,batch-file,media,filenames,Random,Batch File,Media,Filenames,我正在寻找一个随机函数在批处理,我可以钉到一个文件名的开头。我正在创建数千个符号链接,我打算通过在文件名的开头添加一个随机数来随机化排序结果 我在嵌套for循环中使用了此函数(遍历所有子目录中的所有文件): 它返回的几乎是我想要的。不幸的是,每个符号链接都有相同的起始随机数。是否仍要为%random%值重新设定种子?使用延迟扩展。即放 setlocal enabledelayedexpansion 在批处理文件的开头,然后使用!随机的而不是%random%。有关此主题的详细说明,请参阅帮助集

我正在寻找一个随机函数在批处理,我可以钉到一个文件名的开头。我正在创建数千个符号链接,我打算通过在文件名的开头添加一个随机数来随机化排序结果

我在嵌套for循环中使用了此函数(遍历所有子目录中的所有文件):


它返回的几乎是我想要的。不幸的是,每个符号链接都有相同的起始随机数。是否仍要为%random%值重新设定种子?

使用延迟扩展。即放

setlocal enabledelayedexpansion
在批处理文件的开头,然后使用
!随机的而不是
%random%
。有关此主题的详细说明,请参阅帮助集

这里的要点是,当解析
for
循环时,
%random%
会被展开;因此,对于后续迭代(即循环实际运行时),不再有变量,只有值。这是通过延迟扩展修复的

setlocal enabledelayedexpansion