这是DOS
FOR /R folder %%f in (*.filetype) DO something
我喜欢实现,每次运行时,随机文件顺序都会从FOR循环中提供给something
答案 0 :(得分:1)
这里的技巧是在临时文件中记录以随机数字键为前缀的文件名,按随机键对行进行排序,然后按新顺序提取文件名。这可以使用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%
请注意,示例中的标记folder
和filetype
位于第一个for-line(写入临时文件的位置),而something
位于下一个线。
而不是something
,您可以在此处写例如echo !file!
来将文件名打印到控制台。