Board logo

标题: [文件操作] [已解决]批处理怎样按文件名关键字移动文件到指定文件夹? [打印本页]

作者: comicguests    时间: 2011-6-1 21:22     标题: [已解决]批处理怎样按文件名关键字移动文件到指定文件夹?

本帖最后由 comicguests 于 2011-6-4 06:25 编辑

比如,
[红旅首发www.hltm.cc][死囚乐园][01].rmvb
只要文件名中有死囚、死、乐园等关键字就移动到a文件夹中
(要可以移动多个,比如dgdg.rmvb
只要文件名中有d、g等关键字就移动到b文件夹中
abcd.rmvb只要文件名中有a、b、c、d等关键字就移动到c文件夹中
....
....)

望高手指教!!!
加强补充:
有一款软件叫  桌面文件整理  它有一个规则
就是当文件名中包含某些关键字(比如全名为死囚乐园,包含死囚  或  死  或  乐园  等关键字)
就可以移动到我指定的文件夹中,完全满足我的需要,只可惜它只能处理桌面上的文件,而我要处理文件夹中的文件
最好包括子文件夹
作者: batman    时间: 2011-6-1 21:55

请把移动的规则描述得清清楚楚,如dgdg.rmvb为何移动到b?
作者: batman    时间: 2011-6-2 09:17

文件名中含有d到底是移动到b还是c?

问题就这么难讲清楚。。。
作者: comicguests    时间: 2011-6-2 12:36

3# batman


比如,
[红旅首发www.hltm.cc][死囚乐园][01].rmvb   
只要文件名中有  死囚  或  死  或  乐园  等关键字就移动到   死囚乐园这个文件夹中

就是文件名中只要包含其中一个关键字就移到 死囚乐园这个文件夹中
作者: CrLf    时间: 2011-6-2 13:01

不懂楼主需要的效果是不是这样
  1. @echo off
  2. for /d %%a in (*) do (
  3.    set d=%%a
  4.    setlocal enabledelayedexpansion
  5.    for /l %%b in (0 1 127) do (
  6.       if "!d:~%%d,1!" neq "" move "*!d:~%%b,1!*.*" "!d!"
  7.    )
  8.    endlocal
  9. )
复制代码

作者: comicguests    时间: 2011-6-2 17:17

5# zm900612


感谢版主的回答,但不是我想要的效果

有一款软件叫  桌面文件整理  它有一个规则
就是当文件名中包含某些关键字(比如全名为死囚乐园,包含死囚  或  死  或  乐园  等关键字)
就可以移动到我指定的文件夹中,完全满足我的需要,只可惜它只能处理桌面上的文件,而我要处理文件夹中的文件
最好包括子文件夹
作者: Batcher    时间: 2011-6-3 00:00

6# comicguests


那是因为你没有在顶楼把这个需求描述清楚
作者: sunhangmail    时间: 2011-11-3 17:12

for /f "delims=" %i in ('dir/a-d/s/b *死囚*,*死*,*乐园*') do move "%i"  死囚乐园\




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