[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 30# WHY

已经行了,非常棒。感谢感谢!!但是我想把所有01234文件夹下面的a文件夹下面的图片放入attack,d文件夹下面的图片放入dead....其他的也是以这种方式类推。。我该改哪里,
学到学不动为止!@

TOP

回复 31# miss_sokuber


    图片命名规则:第一个字符是0,第二个字符是0,1,2,3,4这五个文件夹其中一个的名称+1,然后接3个0,最后一个字符是从0开始顺延的自然数,结果是:0(数字文件夹名称+1)0000,0(数字文件夹名称+1)0001...,
新创建文件夹命名:attack,dead,hit,run,stand,
attack包括0,1,2,3,4下面的a
dead包括0,1,2,3,4下面的d
hit包括0,1,2,3,4下面的h
run包括0,1,2,3,4下面的r
stand包括0,1,2,3,4下面的s
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%i in (attack dead hit run stand) do (
  4.     set "s=%%i" & set "s=!s:~0,1!"
  5.     set "_!s!=%%i"
  6. )
  7. REM 查找png文件,其上一级目录名为a、d、h、r、s,上上一级目录名为数字0-4
  8. for /f "delims=" %%i in ('dir /b /a-d /s *.png ^| findstr /i "\\[0-4]\\[adhrs]\\[^\\]*$"') do (
  9.     REM 当前png文件所在的目录
  10.     set "curPath=%%~dpi"
  11.     if /i "!prePath!" NEQ "!curPath!" (
  12.         REM png文件的上上一级目录
  13.         for %%j in ("%%i\..\..") do set /a n = "(%%~nj + 1) * 10000"
  14.         for %%j in ("%%i\..") do (
  15.             set "newFolder=!_%%~nj!"
  16.             md "%%i\..\..\..\!newFolder!" 2>nul
  17.         )
  18.     ) else (
  19.         set /a n+=1
  20.     )
  21.     REM 前一个png文件所在的目录
  22.     set "prePath=%%~dpi"
  23.     move "%%i" "%%i\..\..\..\!newFolder!\0!n!%%~xi"
  24. )
  25. REM 删除空目录
  26. for /f "delims=" %%i in ('dir /b /ad /s ^| sort /r') do rd "%%i" 2>nul
  27. pause
复制代码
1

评分人数

TOP

返回列表