标题: [代码合集] 如何用批处理把随机的不同文件复制或者移动到不同文件夹内 [打印本页]
作者: yhq300 时间: 2022-7-27 16:10 标题: 如何用批处理把随机的不同文件复制或者移动到不同文件夹内
各位大佬 有没办法把不同的文件 随机选取 复制或者移动到指定文件夹内所有子文件夹中
比如说我有一个文件夹内部有1000条视频
另外一个文件夹内部有5个不同的子文件夹
从1000个视频的文件夹内部 随机选取100条 5个文件夹每个平均分配20条不重复的视频
这要如何实现?
作者: flashercs 时间: 2022-7-27 19:36
- @echo off
- cd /d "%~dp0"
- powershell -c "$arr=@(get-random -InputObject (gci '视频文件夹\*'|?{-not $_.psiscontainer}) -Count 100);$i=0;foreach($dir in (gci '另外文件夹\*'|?{$_.psiscontainer})){$arr[$i..($i+19)]|copy-item -Destination $dir.fullname -force;$i+=20;}"
- pause
复制代码
作者: yhq300 时间: 2022-7-27 23:24
谢谢大佬 完美解决
作者: aloha20200628 时间: 2022-7-28 00:36
给一个纯P版本...代码存盘到视频文件所在目录
@echo off &setlocal enabledelayedexpansion
:: 在当前目录下随机提取100个文件等分复制到5个子目录(d1,...,d5)
set "d1=d:\B\B1" &set "d2=d:\B\B2" &set "d3=d:\B\B3" &set "d4=d:\B\B4" &set "d5=d:\B\B5"
:: 在1~1000之间生成100个随机数
set/a "a=1000,b=100"
(for /L %%n in (1,1,!b!) do (set /a "Rn=1+!random!%%!a!" &echo,!Rn!)>"rnList"
set/a "qn=1,k=1,e=!b!/5"
for /f "delims=" %%F in ('dir/s/b/a-d *.*^|findstr /n ".*"^|findstr /b /g:"rnList" ') do (
for /f "tokens=1* delims=:" %%1 in ("%%~F") do (set srcF="%%~2")
if !qn! equ 1 for %%n in (!k!) do (set "tDir=!d%%n!")
copy /y !srcF! "!tDir!"
set/a "qn+=1"
if !qn! gtr !e! (set/a "qn=1,k+=1")
)
del/q "rnList" &endlocal &exit/b
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |