无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3450|回复: 5
打印 上一主题 下一主题

请教一个复制目录的问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-12-13 21:00:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图如何用xcopy 复制开头是三个字母中间是44后面是任意两个数学的目录。类似 JYS4452

我用了xcopy ???44?? /s f:\aa 试来试去都不成功。不知道错在哪里了。

dt.JPG (28.57 KB, 下载次数: 33)

dt.JPG
2#
发表于 2012-12-14 00:58:15 | 只看该作者
  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2. Set Ws = CreateObject("Wscript.Shell")
  3. For Each a In FSO.GetFolder(".").SubFolders
  4.    XcopyFolder "^[a-z]{3}44\d{2}$"
  5. Next
  6. MsgBox "复制完成"

  7. Sub XcopyFolder(Pattern)
  8.    Set Re = New RegExp
  9.    Re.Global = True
  10.    Re.IgnoreCase = True
  11.    Re.Pattern = Pattern
  12.    If Re.Execute(a.Name).Count > 0 Then
  13.       Ws.Run "xcopy " & a.Name & "\* f:\aa" & a.Name & "\ /s",vbHide
  14.    End If
  15. End Sub
复制代码


保存为test.vbs,与需要复制的文件夹放在同一位置
回复

使用道具 举报

3#
 楼主| 发表于 2012-12-14 10:47:00 | 只看该作者

回复 #2 pznpt 的帖子

谢谢解答,请问一下,如果单XCOPY能不能完成这个问题呢?
回复

使用道具 举报

4#
发表于 2012-12-14 12:07:30 | 只看该作者

回复 #3 gdpndw 的帖子

不可能。。。
除非批处理for + xcopy,不过要实现"开头是三个字母"、"结尾是2个数字"比较罗嗦
回复

使用道具 举报

5#
发表于 2012-12-14 23:12:40 | 只看该作者

回复 #4 pznpt 的帖子

用findstr比较简单吧
回复

使用道具 举报

6#
发表于 2012-12-15 00:21:33 | 只看该作者

回复 #5 Batcher 的帖子

昂。。。老大提醒的极是,我脑袋灌浆啦,呵呵。。。
----------------------------分割线--------------------------------
@echo off
for /f "delims=" %%a in ('dir /ad /b^|findstr /i "^[a-z][a-z][a-z]44[0-9][0-9]$"') do (
  xcopy %%a\* f:\aa\%%a\ /s
)
pause
----------------------------分割线--------------------------------
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 23:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表