Board logo

标题: [文件操作] 批处理怎样查找含有制定字符的指定类型的文件? [打印本页]

作者: ooaf    时间: 2011-2-19 19:36     标题: 批处理怎样查找含有制定字符的指定类型的文件?

全盘查找含有关键词:音乐  电影 小说 的 mp3 rm avi wma txt rar 的文件 ,并复制到的d:\cd 文件夹中。
作者: CrLf    时间: 2011-2-19 20:25

  1. @echo off
  2. for %%a in (d c e f) do (
  3. cd /d %%a
  4. for /f "delims=" %%b in ('dir /s /b /a-d *.mp3 *.rm *.avi *.wma *txt *rar') do copy "%%~fb" "d:\cd\"
  5. )
复制代码
但是通配符只能匹配后缀名前三位
作者: ooaf    时间: 2011-2-19 20:54

  1. for %%a in (d c e f) do (
  2. cd /d %%a
  3. for /f "delims=" %%b in ('dir /s /b /a-d *.mp3 *.rm *.avi *.wma *txt *rar'^|findstr /v /i "音乐  电影 小说"') do copy "%%~fb" "d:\cd\"
  4. )
复制代码

[ 本帖最后由 ooaf 于 2011-2-20 19:43 编辑 ]
作者: ooaf    时间: 2011-2-19 20:58     标题: 回复 2楼 的帖子

但是通配符只能匹配后缀名前三位,  是什么意思? rmvb 格式的不行吗?
作者: 随风    时间: 2011-2-20 02:11

  1. @echo off&setlocal enabledelayedexpansion
  2. set wjm=
  3. for %%a in (mp3 rm rmvb avi wma txt rar) do (
  4.    for %%b in (音乐  电影 小说) do set "wjm= !wjm! *%%b*.%%a "
  5. )
  6. endlocal&set wjm=%wjm%
  7. for %%a in (d c e f) do (
  8.    cd /d %%a:
  9.    for /f "delims=" %%b in ('dir/s/b/a-d %wjm%') do copy "%%b" "d:\cd\"
  10. )
  11. pause
复制代码

作者: ooaf    时间: 2011-2-20 19:38

setlocal enabledelayedexpansion
******
endlocal

这个学习了,多谢!




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