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

[文件操作] 批处理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……下面的所有内容,那么达到这个效果应该怎么写呢?

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

TOP

本帖最后由 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
复制代码

TOP

返回列表