Board logo

标题: [文件操作] [已解决]批处理实现文件对比文件夹归类后新建多层目录 [打印本页]

作者: a6236130    时间: 2019-6-2 23: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. )
复制代码

作者: zaqmlp    时间: 2019-6-3 00:02

本帖最后由 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
复制代码

作者: a6236130    时间: 2019-6-3 08:04

回复 2# zaqmlp


    谢谢大神,已发支付宝,一点心意,请别嫌少




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2