找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27409|回复: 2

[文件操作] [已解决]批处理实现文件对比文件夹归类后新建多层目录

[复制链接]
发表于 2019-6-2 23:07:07 | 显示全部楼层 |阅读模式
如图所示:
注:比如文件名或文件夹名 (X001)002-003-006 相当于(A)B-C-D
1.对比文件夹名称和文件名称,将字符完全匹配的文件归类到对应文件夹中,如果出现有文件无文件夹的情况,则不进行任何操作.
2.归类时将文件移动进文件夹里新建以"新"为命名的文件夹
如(A)B-C-D.jpg归类到文件夹(A)B-C-D/新/(A)B-C-D.jpg
3.归类完后再新建多层目录,如:(A)/(A)B/(A)B-C/(A)B-C-D/新/文件


求具体代码........
代码仅供参考
问题一.由于文件和文件夹名称中带了两种符号,如需归类则需要进行两个判断,我有加过但不能实现。
问题二. “)”和“-”之间的字符如何提取?
  1. @echo off
  2. for /f "tokens=1-2* delims=-" %%a in ('dir /b /a-c *.jpg') do (
  3.     if not exist "%%a/%%a-%%b/%%a-%%b-%%c/%%a-%%b-%%c-%%d" (
  4.         md "%%a/%%a-%%b/%%a-%%b-%%c/%%a-%%b-%%c-%%d"
  5.     )
  6.     move "%%a-%%b-%%c-%%d-%%e" "%%a/%%a-%%b/%%a-%%b-%%c/%%a-%%b-%%c-%%d"
  7. )
复制代码
发表于 2019-6-3 00:02:14 | 显示全部楼层
本帖最后由 zaqmlp 于 2019-6-3 00:08 编辑
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. for /f "delims=" %%a in ('dir /a-d/b "(*)*-*-*.jpg"') do (
  7.     if exist "%%~na" (
  8.         md "%%~na\新" 2>nul
  9.         move %%a "%%~na\新"
  10.         for /f "tokens=1-4 delims=)-" %%b in ("%%~na") do (
  11.             md "%%b)\%%b)%%c\%%b)%%c-%%d" 2>nul
  12.             move "%%~na" "%%b)\%%b)%%c\%%b)%%c-%%d\%%~na"
  13.         )
  14.     )
  15. )
  16. echo;%info%
  17. pause
复制代码
 楼主| 发表于 2019-6-3 08:04:34 | 显示全部楼层
回复 2# zaqmlp


    谢谢大神,已发支付宝,一点心意,请别嫌少
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 03:29 , Processed in 0.030216 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表