Board logo

标题: [文件操作] 根据文件名中指定字符前面的前缀字符串/关键字将文件移动到以该字符串命名的文件夹里 [打印本页]

作者: 慕梓酉    时间: 2012-8-26 13:45     标题: 根据文件名中指定字符前面的前缀字符串/关键字将文件移动到以该字符串命名的文件夹里

本帖最后由 pcl_test 于 2018-4-12 12:39 编辑

例如有名为a-1.jpg a-2.jpg b-1.jpg b-2.jpg等图片,希望按照名称将名称中除数字以外相同的文件移动到一个新建的文件夹里,文件夹的名称为各个文件名字的公共部分,对于例子:就是把a-1.jpg a-2.jpg移动到一个新建的名为a的文件夹里,将b-1.jpg b-2.jpg移动到名为b的文件夹里。

谢谢各位!!
作者: 狗屁不通    时间: 2012-8-26 14:37

  1. md a;b
  2. copy a-*.jpg a\
  3. copy b-*.jpg b\
复制代码

作者: 慕梓酉    时间: 2012-8-26 17:05

您好,可能是我表达不清楚,之前的a,b只是举个例子,实际上可能还有c,d...,其实想做的是把文件夹中所有文件根据他们的名字自动分类,并移动到相应的文件夹中。而这些文件夹是按照文件的名字自动生成的,而非已经存在,数量比较多也不方便手动指定。
比如说扫描到有a-1.jpg就把它放到以文件名字减去其中数字为名的文件夹中,具体就是根据a-1生成a这个文件夹,然后把a-1.jpg放进去,再继续扫描,扫描到b-1.jpg建立文件夹b,并将b-1放到b中,有扫描到b-2.jpg放到b中,扫描到a-2.jpg放到a中...直至处理完所有文件为止。
作者: 狗屁不通    时间: 2012-8-26 17:23

回复 3# 慕梓酉

  1. @echo off
  2. for /f "delims=-" %%i in ('dir/b/o-n') do (
  3. md %%i 2>nul
  4. move %%i* %%i
  5. )
复制代码

作者: 慕梓酉    时间: 2012-8-26 18:56

回复  慕梓酉
狗屁不通 发表于 2012-8-26 17:23

谢谢您,还有个小问题想请教下,比如当文件的名字是a-b-1.jpg我想把它放到a-b中,但是如果直接按-切分a-b-1.jpg会被存放在a中,怎样作才能知识别数字前面的“-”呢?或者可不可以把文件名字中非数字前面的“-”替换成比如“.”在进行之前的分类操作呢?
谢谢您,还望您指教!
作者: 狗屁不通    时间: 2012-8-26 19:24

回复 5# 慕梓酉

源代码第一行加入
   
  1. (2>nul md TMP_TMP)&&move *-*-* TMP_TMP
复制代码


然后分开处理,方法和上边的原理相同。




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