无忧启动论坛
标题:
请教一个复制目录的问题
[打印本页]
作者:
gdpndw
时间:
2012-12-13 21:00
标题:
请教一个复制目录的问题
如图如何用xcopy 复制开头是三个字母中间是44后面是任意两个数学的目录。类似 JYS4452
我用了xcopy ???44?? /s f:\aa 试来试去都不成功。不知道错在哪里了。
dt.JPG
(28.57 KB, 下载次数: 39)
下载附件
2012-12-13 21:00 上传
作者:
pznpt
时间:
2012-12-14 00:58
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Ws = CreateObject("Wscript.Shell")
For Each a In FSO.GetFolder(".").SubFolders
XcopyFolder "^[a-z]{3}44\d{2}$"
Next
MsgBox "复制完成"
Sub XcopyFolder(Pattern)
Set Re = New RegExp
Re.Global = True
Re.IgnoreCase = True
Re.Pattern = Pattern
If Re.Execute(a.Name).Count > 0 Then
Ws.Run "xcopy " & a.Name & "\* f:\aa" & a.Name & "\ /s",vbHide
End If
End Sub
复制代码
保存为test.vbs,与需要复制的文件夹放在同一位置
作者:
gdpndw
时间:
2012-12-14 10:47
标题:
回复 #2 pznpt 的帖子
谢谢解答,请问一下,如果单XCOPY能不能完成这个问题呢?
作者:
pznpt
时间:
2012-12-14 12:07
标题:
回复 #3 gdpndw 的帖子
不可能。。。
除非批处理for + xcopy,不过要实现"开头是三个字母"、"结尾是2个数字"比较罗嗦
作者:
Batcher
时间:
2012-12-14 23:12
标题:
回复 #4 pznpt 的帖子
用findstr比较简单吧
作者:
pznpt
时间:
2012-12-15 00:21
标题:
回复 #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
----------------------------分割线--------------------------------
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3