
标题: [文件操作] [已解决]求助批处理按目录名称拆分成上下级文件夹,并移动文件 [打印本页]
作者: akb4888 时间: 2021-7-19 16:52 标题: [已解决]求助批处理按目录名称拆分成上下级文件夹,并移动文件
本帖最后由 akb4888 于 2021-7-19 20:29 编辑
各位前辈大佬,有礼了!
小弟目前有:
333-X32-1-18
333-X31-22-102
333-X32-1-1
这样的一批文件夹,我想将他们拆分成:
333\X32-1\18
333\X31-22\102
333\X32-1\1
这样的目录结构,并将原文件夹里的文件移动到最底层子目录
不知可否用批处理实现?请各位前辈指点一二,十分感谢!
作者: Batcher 时间: 2021-7-19 17:16
回复 1# akb4888
目前-的数量是固定的三个吗?
作者: akb4888 时间: 2021-7-19 17:26
回复 2# Batcher
管理员大大好,是的,“-”的数量是固定3个,只是每段的数字长度不固定。这个是不是涉及到更改目录名和文件移动的先后逻辑问题,没学多少基础,实在是想不明白。
作者: idwma 时间: 2021-7-19 18:22
@echo off
for /f "tokens=1-4 delims=-" %%i in ('dir/ad/b') do (
md "%%i\%%j-%%k\%%l\"
move "%%i-%%j-%%k-%%l\*.*" "%%i\%%j-%%k\%%l\"
rmdir "%%i-%%j-%%k-%%l"
)
pause
作者: newswan 时间: 2021-7-19 18:44
移动目录,比移动文件好些- for /f "tokens=1-4 delims=-" %%a in ('dir /ad /b') do (
- md %%a\%%b-%%c
- move %%a-%%b-%%c-%%d %%a\%%b-%%c\%%d
- )
复制代码
作者: akb4888 时间: 2021-7-19 20:04
回复 4# idwma
多谢前辈!我原来是这个思路这么想的,但是就是写不出来,学习了!感谢!~
作者: akb4888 时间: 2021-7-19 20:05
回复 5# newswan
牛蛙!为啥没这么想过呢,,这就是人和人的差距吗……多谢大佬!这个确实很精练很实用了!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |