批处理的 xcopy 问题

huazaijiajia 2011-11-22 04:40:12
小弟刚学习批处理,遇到一事不明,敬请各位大哥指点。
在使用 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……下面的所有内容,那么达到这个效果应该怎么写呢?
...全文
409 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huazaijiajia 2011-11-23
  • 打赏
  • 举报
回复
非常非常的感谢,一个很好的思路,已解决问题。
qishine 版主 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 forever_young 的回复:]

输入下面这行命令试试

BatchFile code

for /f "tokens=*" %a in ('dir /b/ad "\\192.168.1.10\D$\LOG\*2005*"') do (xcopy /s/y "\\192.168.1.10\D$\LOG\%a" D:\)
[/Quote]

这个Forever拿手了,
huazaijiajia 2011-11-22
  • 打赏
  • 举报
回复
原来如此,解决,thks...
Forever_Young 2011-11-22
  • 打赏
  • 举报
回复
输入下面这行命令试试

[code=BatchFile]
for /f "tokens=*" %a in ('dir /b/ad "\\192.168.1.10\D$\LOG\*2005*"') do (xcopy /s/y "\\192.168.1.10\D$\LOG\%a" D:\)
[/code]
Forever_Young 2011-11-22
  • 打赏
  • 举报
回复
xcopy通配符不支持目录的,你这个要写个批处理来执行了
huazaijiajia 2011-11-22
  • 打赏
  • 举报
回复
如果写完目录名称,是可以的,比如:
xcopy /S/Y \\192.168.1.10\d$\LOG\200501 D:\
这样能够成功拷贝,可是用了通配符以后就不行啦,请各位大哥指点啊

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧