标题: [文件操作] [已解决]批处理实现文件对比文件夹归类后新建多层目录 [打印本页]
作者: 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/新/文件
求具体代码........
代码仅供参考
问题一.由于文件和文件夹名称中带了两种符号,如需归类则需要进行两个判断,我有加过但不能实现。
问题二. “)”和“-”之间的字符如何提取?- @echo off
- for /f "tokens=1-2* delims=-" %%a in ('dir /b /a-c *.jpg') do (
- if not exist "%%a/%%a-%%b/%%a-%%b-%%c/%%a-%%b-%%c-%%d" (
- md "%%a/%%a-%%b/%%a-%%b-%%c/%%a-%%b-%%c-%%d"
- )
- move "%%a-%%b-%%c-%%d-%%e" "%%a/%%a-%%b/%%a-%%b-%%c/%%a-%%b-%%c-%%d"
- )
复制代码
作者: zaqmlp 时间: 2019-6-3 00:02
本帖最后由 zaqmlp 于 2019-6-3 00:08 编辑
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- for /f "delims=" %%a in ('dir /a-d/b "(*)*-*-*.jpg"') do (
- if exist "%%~na\" (
- md "%%~na\新\" 2>nul
- move %%a "%%~na\新\"
- for /f "tokens=1-4 delims=)-" %%b in ("%%~na") do (
- md "%%b)\%%b)%%c\%%b)%%c-%%d" 2>nul
- move "%%~na" "%%b)\%%b)%%c\%%b)%%c-%%d\%%~na"
- )
- )
- )
- echo;%info%
- pause
复制代码
作者: a6236130 时间: 2019-6-3 08:04
回复 2# zaqmlp
谢谢大神,已发支付宝,一点心意,请别嫌少
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |