Board logo

标题: [文件操作] [已解决]BAT怎样批量归类文件并建立多层文件夹? [打印本页]

作者: a6236130    时间: 2019-5-30 16:30     标题: [已解决]BAT怎样批量归类文件并建立多层文件夹?

本帖最后由 a6236130 于 2019-6-2 20:40 编辑

目的:将文件归类并建立多层文件夹
1.由于文件名称位数不一致,故根据“ - ”来进行归类
2.例如第一个“-“前面的数值为A,第二个“-“前面的数值为B,以此类推.
需要建立多层文件夹,然后把文件放到最底层,需要达到的效果为A/A-B/A-B-C/A-B-C-D/图像.tif或jpg
求具体代码.....
作者: Batcher    时间: 2019-5-30 16:42

  1. @echo off
  2. for /f "tokens=1-4* delims=-" %%a in ('dir /b /a-d *.tif') 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. )
复制代码

作者: a6236130    时间: 2019-5-30 16:53

回复 2# Batcher


    老大,如何不参照原代码,你会怎么写?有没有更简化的方法……想对比一下看看
作者: Batcher    时间: 2019-5-30 16:54

回复 3# a6236130


    我觉得这个思路已经非常简洁了,咱一起等等看其他人的方案吧
作者: xczxczxcz    时间: 2019-5-30 18:29

  1. @Echo Off  & cd /d "%~dp0"
  2. for /f "tokens=1-5 delims=-" %%a in ('dir/b/a-d *.tif') do xcopy /y "%%a-%%b-%%c-%%d-%%e" "%%a\%%a-%%b\%%a-%%b-%%c\%%a-%%b-%%c-%%d\"
复制代码





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