Board logo

标题: [文件操作] [已解决]求助批处理按目录名称拆分成上下级文件夹,并移动文件 [打印本页]

作者: 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

移动目录,比移动文件好些
  1. for /f "tokens=1-4 delims=-" %%a in ('dir /ad /b') do (
  2.     md %%a\%%b-%%c
  3.     move %%a-%%b-%%c-%%d %%a\%%b-%%c\%%d
  4. )
复制代码

作者: 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