For loop 在Dos中为命令获取随机文件顺序

For loop 在Dos中为命令获取随机文件顺序,for-loop,dos,For Loop,Dos,这是DOS 对于(*.filetype)中的/R文件夹%%f,执行一些操作 我想实现的是,每次运行此程序时,随机文件顺序都会从FOR loop馈送到某物这里的技巧是在临时文件中记录以随机数字键为前缀的文件名,按随机键对行进行排序,然后按新顺序提取文件名。这可以通过DOS命令type和sort实现,如下所示: @echo off setlocal enabledelayedexpansion set tempfile=_%RANDOM%_%RANDOM%_%RANDOM%_.tmp type nu

这是DOS

对于(*.filetype)中的/R文件夹%%f,执行一些操作


我想实现的是,每次运行此程序时,随机文件顺序都会从FOR loop馈送到
某物
这里的技巧是在临时文件中记录以随机数字键为前缀的文件名,按随机键对行进行排序,然后按新顺序提取文件名。这可以通过DOS命令
type
sort
实现,如下所示:

@echo off
setlocal enabledelayedexpansion
set tempfile=_%RANDOM%_%RANDOM%_%RANDOM%_.tmp
type nul >%tempfile%
for /R folder %%i in (*.filetype) do set key=!RANDOM!!RANDOM!!RANDOM!000000000000& echo !key:~0,15!%%i>> %tempfile%
for /F "tokens=*" %%i in ('type %tempfile% ^| sort') do set line=%%i&set file=!line:~15!&something
del %tempfile%
请注意,示例中的令牌
文件夹
文件类型
位于for的第一行(写入临时文件的位置),而
something
位于下一行。
您可以在这里编写例如
echo!文件
将文件名打印到控制台。

这里的技巧是在临时文件中记录以随机数字键为前缀的文件名,按随机键对行进行排序,然后按新顺序提取文件名。这可以通过DOS命令
type
sort
实现,如下所示:

@echo off
setlocal enabledelayedexpansion
set tempfile=_%RANDOM%_%RANDOM%_%RANDOM%_.tmp
type nul >%tempfile%
for /R folder %%i in (*.filetype) do set key=!RANDOM!!RANDOM!!RANDOM!000000000000& echo !key:~0,15!%%i>> %tempfile%
for /F "tokens=*" %%i in ('type %tempfile% ^| sort') do set line=%%i&set file=!line:~15!&something
del %tempfile%
请注意,示例中的令牌
文件夹
文件类型
位于for的第一行(写入临时文件的位置),而
something
位于下一行。 您可以在这里编写例如
echo!文件
将文件名打印到控制台