Board logo

标题: [文件操作] 批处理xcopy命令怎样用通配符拷贝指定日期的目录? [打印本页]

作者: huazaijiajia    时间: 2011-11-22 16:28     标题: 批处理xcopy命令怎样用通配符拷贝指定日期的目录?

小弟刚学习批处理,遇到一事不明,敬请各位大哥指点。
在使用 xcopy 的过程中,使用了通配符,想拷贝指定日期的目录,结果有点意外,如:

xcopy /S/Y \\192.168.1.10\d$\LOG\*2005* D:\
\\192.168.1.10\d$\LOG 下面有很多目录,我只想拷贝带“2005”的目录极其子目录全部内容,但是并没有拷贝成功
我发现通配符只针对子目录下面的文件,而不是针对目录名字!
如果存在文件:
\\192.168.1.10\d$\LOG\200501\20050101.txt,则拷贝成功,但也仅仅拷贝这一个文件,其他文件不拷贝
也就是 *2005* 只针对具体文件名,而不是针对目录

而我想做的是拷贝 200501 下面的所有内容,及200502,200503……下面的所有内容,那么达到这个效果应该怎么写呢?
作者: huazaijiajia    时间: 2011-11-22 16:35

如果写完目录名称,是可以的,比如:
xcopy /S/Y \\192.168.1.10\d$\LOG\200501 D:\
这样能够成功拷贝,可是用了通配符以后就不行啦,请各位大哥指点啊
作者: szjwxn    时间: 2011-11-22 17:31

本帖最后由 szjwxn 于 2011-11-22 17:59 编辑

看看这个行不
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%i in (\\192.168.1.10\d$\LOG\*2005*) do (
  4.   set var=%%i
  5.      xcopy /s /q !var! d:\  )
  6. pause
复制代码





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