You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Windows批处理脚本打乱JPG图片并保留原序列文件名

可行,以下是实现方案

核心逻辑是:先将所有图片内容转存为随机命名的临时文件,再将这些临时文件的内容随机分配回原序列文件名的文件中,最后清理临时文件。

批处理脚本示例

@echo off
setlocal enabledelayedexpansion

:: 创建临时目录存放临时文件
md temp_imgs >nul 2>&1

:: 将所有原图片复制到临时目录,并重命名为随机数字后缀的临时文件
set "count=0"
for %%f in (*.jpg) do (
    set /a "rand=!random!%%99999"
    copy "%%f" "temp_imgs\!rand!.tmp" >nul
    set /a count+=1
)

:: 遍历原序列文件,随机选取临时文件覆盖原文件
set "temp_count=!count!"
for /l %%i in (1,1,520) do (
    :: 生成当前临时文件数量范围内的随机索引
    set /a "rand_idx=!random!%%temp_count"
    set "selected="
    :: 遍历临时文件,找到对应索引的文件
    set "idx=0"
    for %%t in (temp_imgs\*.tmp) do (
        if !idx! equ !rand_idx! (
            set "selected=%%t"
            goto :copy_selected
        )
        set /a idx+=1
    )
    :copy_selected
    :: 覆盖原序列文件内容
    copy "!selected!" "00%%i.jpg" >nul
    :: 删除已使用的临时文件,避免重复选取
    del "!selected!" >nul
    set /a temp_count-=1
)

:: 清理临时目录
rmdir /s /q temp_imgs >nul

echo 图片内容打乱完成!
endlocal

注意事项

  • 执行脚本前务必备份原图片文件,避免操作失误导致文件丢失。
  • 脚本依赖系统随机数生成,%random%范围为0-32767,处理520个文件时,结合“选完即删临时文件”的逻辑,不会出现重复选取问题。
  • 脚本中的00%%i.jpg适配三位数序列文件名(001-520),如果你的文件名格式不同(比如两位数),需要调整此处的格式(例如0%%i.jpg)。

内容的提问来源于stack exchange,提问作者user1719210

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 09:25:03