Windows批处理文件脚本从文件夹中选择随机文件并将其移动到另一个文件夹

tec*_*mon 5 random file batch-file

我需要一个批处理脚本来随机选择文件夹中的X个文件并将它们移动到另一个文件夹.如何编写可以执行此操作的Windows批处理脚本?

Joe*_*oey 8

(我假设您的X事先已知 - 由$x以下代码中的变量表示).

由于您不会对PowerShell解决方案产生负面影响:

Get-ChildItem SomeFolder | Get-Random -Count $x | Move-Item -Destination SomeOtherFolder
Run Code Online (Sandbox Code Playgroud)

或更短:

gci somefolder | random -c $x | mi -dest someotherfolder
Run Code Online (Sandbox Code Playgroud)


RB.*_*RB. 3

以下批处理代码即可完成此操作。请注意,您需要使用以下命令行启动 cmd:

cmd /v:on
Run Code Online (Sandbox Code Playgroud)

启用延迟环境变量扩展。另请注意,它会选择从 0 到 32767 之间的随机数量的文件 - 您可能需要修改此部分以满足您的要求!

@ECHO OFF
SET SrcCount=0
SET SrcMax=%RANDOM%
FOR %F IN (C:\temp\source\*.*) DO IF !SrcCount! LSS %SrcMax% (
      SET /A SrcCount += 1
      ECHO !SrcCount! COPY %F C:\temp\output
      COPY %F C:\temp\output
      )
Run Code Online (Sandbox Code Playgroud)