Board logo

标题: [文件操作] 【已解决】批处理怎样根据关联性文本复制图片 [打印本页]

作者: holley    时间: 2020-8-5 10:44     标题: 【已解决】批处理怎样根据关联性文本复制图片

通过excel表整理出了一个关联性文本:
  1. 03434672.jpg_红河分公司2017-2018年xxxx合同_10000元_红河合同
  2. 00000000.jpg_保山xxxx公司供货合同_20000元_保山合同
  3. 11111111.jpg_保山分公司2018年至2020年xx分公司xx合同_30000元_保山合同
  4. 22222222.jpg_保山分公司2018年至2020年xx分公司及市公司xx合同_40000元_保山合同
  5. 33333333.png_保山2017年xxxx服务合同_50000元_保山合同
复制代码
其中00000000.jpg、11111111.jpg、22222222.jpg、33333333.png、...散落在 F:\2-票据 里面的不同子目录
现在要根据关联性文本,将这些图片复制到 F:\2-合同 对应的 "地州"\"合同名称+金额" 下。
目前我折腾了一下,只能实现出所有图片都被复制到了不同的地州合同下,没有按照关联性文本形成对应关联,不知道是哪一块没琢磨到位。
现在有点晕,故求助一下,代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "src=F:\2-票据"
  3. set "dest=F:\2-合同"
  4. for /f "tokens=1,2,3* delims=_ " %%a in (关联性样本.txt) do (
  5. set "aa=%%a"
  6. set "dd=%%d"
  7. set "bc=%%b(票据金额%%c)"
  8. for %%i in (%src%) do for /f "delims=" %%j in ('dir /a-d/b/s %%i\%aa%') do (
  9.    xcopy "%%j" "%dest%\!dd!\!bc!\"
  10. )
  11. )
  12. pause
复制代码

作者: Batcher    时间: 2020-8-5 12:00

回复 1# holley


    00000000.jpg应该复制到哪个路径下?你的代码实际把它复制到了哪个路径下?
作者: holley    时间: 2020-8-5 14:23

本帖最后由 holley 于 2020-8-5 14:24 编辑

回复 2# Batcher
我是希望00000000.jpg复制到《保山xxxx公司供货合同(票据金额20000元)》下,我的代码也做到了,,,但代码把找到的所有图片都分别复制到了所有文件夹,而没有一一对应复制过去。
导致每个文件夹的图片都是全部图片 而不是只有我需要的。
作者: Batcher    时间: 2020-8-5 14:54

回复 3# holley


    第9行的 %aa% 改成 !aa! 试试




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