[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 根据指定文本中列出的字符串全盘查找文件名中含有某个字符串的图片并复制到指定目录里

本帖最后由 pcl_test 于 2016-11-20 19:00 编辑

请教一个批量查找图片并复制到指定文件夹的BAT
我现在想从我的电脑中将符合“查找.txt”(全是人名),查询出来并复制到F盘“查找到图片”文件夹中,以下这代码只能查询f盘“数据”文件夹,不能全盘查找,注:图片名字可能是图片文件名包含有名字,查找.txt文件中只是名字,比如:图片的文件名是"广东_张三(1).JPG",请教各位老师帮忙写个批处理,谢谢!
  1. @echo off
  2. for /f "delims=" %%a in (查找.txt) do (
  3.     copy /y "F:\数据\*%%a*.jpg" "F:\查找到图片"
  4. )
复制代码
1

评分人数

    • pcl_test: 发帖前先使用论坛搜索PB -2

本帖最后由 sohoxs 于 2016-11-29 12:40 编辑

回复 3# pcl_test


  不好意思,前几天有事外出了,没能及时回复,试了下非常好用,非常感谢!

TOP

不知道你说的全盘是什么意思,F整个分区还是所有分区?
  1. @echo off&setlocal enabledelayedexpansion
  2. set "fd=F:\查找到图片\"
  3. md "%fd%" 2>nul
  4. for /f "delims=" %%a in ('type "查找.txt"') do set "#%%a=%%a"
  5. for %%a in (c d e f g h i j k l m n) do (
  6.     if exist %%a:\ (
  7.         for /f "delims=" %%a in ('dir /a-d/b/s %%a:\*.jpg') do (
  8.             set "fn=%%~nxa"
  9.             if /i "%%~dpa" neq "%fd%" (
  10.                 for /f "tokens=2 delims==" %%c in ('set #') do (
  11.                     if "!fn:%%c=!" neq "%%~nxa" (
  12.                         if exist "%fd%%%~nxa" (
  13.                             rem 处理可能的同名文件
  14.                             set /a n+=1
  15.                             copy "%%a" "%fd%!n!_%%~nxa"
  16.                         ) else copy "%%a" "%fd%"
  17.                     )
  18.                 )
  19.             )
  20.         )
  21.     )
  22. )
  23. pause
复制代码
1

评分人数

TOP

回复 1# sohoxs


    版主你好,我没找着,都是查找txt文本内容的,谢谢!

TOP

返回列表