Board logo

标题: [文件操作] 批处理怎样匹配文件? [打印本页]

作者: yue1990    时间: 2011-3-8 03:00     标题: 批处理怎样匹配文件?

我没睡着,想起了卧虎藏龙的bathome,所以就爬起来了,^_^,顺便祝MMJJ们节日快乐!
恳求一段代码,谢谢。

描述:有两个名称分别为a 和 b文件夹,a 文件夹中有A个word文档,b文件夹中有B个PDF文档, 文档名称相同,但A的数量大雨B的数量。
问题:找出B个PDF文档对应的B个word文档。

不好意思哦,不太描述得清楚,简单举个例:

a 文件夹中有100个word文档,b文件夹中有30个PDF文档, 这30个PDF文档对应着a 文件夹中的30个word文档,且名称相同。问题:求一段代码,把这30个word文档找出来。。。。
作者: batman    时间: 2011-3-8 10:33

找出来?是不是这个意思?
  1. @echo off
  2. md c
  3. for /r b\ %%a in (*.pdf) do copy /y a:\%%~na.doc c\
  4. start c
复制代码

作者: yue1990    时间: 2011-3-8 13:15

原帖由 batman 于 2011-3-8 10:33 发表
找出来?是不是这个意思?@echo off
md c
for /r b\ %%a in (*.pdf) do copy /y a:\%%~na.doc c\
start c


谢谢.  不过得到的C文件是空白,什么都没有.  并没有把与PDF同名的WORD文档找出来哦.
作者: Commander    时间: 2011-3-8 13:24

  1. @echo off
  2. for %%a in ("C:\test\b\*.pdf") do (
  3.     if exist "C:\test\a\%%~na.doc" (
  4.         echo "C:\test\a\%%~na.doc"
  5.     )
  6. )
  7. pause
复制代码

作者: CrLf    时间: 2011-3-8 13:40

回楼上,不怕出错往往能找到捷径...见2楼代码
不过2楼也忘了为文件名加双引号
作者: Batcher    时间: 2011-3-8 14:10     标题: 回复 5楼 的帖子

能否讲解一下这两种方法相比,2楼“捷”在哪里?
作者: CrLf    时间: 2011-3-8 14:34

哦,没留意5楼是只输出不复制




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