使用VBScript排除robocopy中的文件
我有下面我正在使用的Robocopy脚本。我想知道的是,有没有一种方法可以在镜像操作期间排除所有以com_uu开头的文件,而不是特定的文件。 非常感谢您的建议使用VBScript排除robocopy中的文件,vbscript,Vbscript,我有下面我正在使用的Robocopy脚本。我想知道的是,有没有一种方法可以在镜像操作期间排除所有以com_uu开头的文件,而不是特定的文件。 非常感谢您的建议 Const ROBOCOPY_PARMS_MIRROR = "/mir /r:1 /w:3 /np /xa:SH /tee /np" Const ROBOCOPY_PARMS_EXCLUDE_DIR = "bin" Const ROBOCOPY_PARMS_EXCLUDE_FILE = "com_.txt" Const sourcePat
Const ROBOCOPY_PARMS_MIRROR = "/mir /r:1 /w:3 /np /xa:SH /tee /np"
Const ROBOCOPY_PARMS_EXCLUDE_DIR = "bin"
Const ROBOCOPY_PARMS_EXCLUDE_FILE = "com_.txt"
Const sourcePath = "C:\copy1"
Const destinationPath = "C:\copy"
roboCopyParms = ROBOCOPY_PARMS_MIRROR
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
cmd = "robocopy " & sourcePath & " " & destinationPath & " " & roboCopyParms & " /xd " & ROBOCOPY_PARMS_EXCLUDE_DIR & " /xf " & ROBOCOPY_PARMS_EXCLUDE_FILE
ret = WshShell.Run(cmd, 0, true)
WScript.Echo ret
谢谢解决方法是创建您自己的robocopy脚本:
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
RoboCopy "C:\copy","C:\copy1"
Function RoboCopy(source,dest)
Set sourceFolder = fso.GetFolder(source)
If Not(fso.FolderExists(dest)) Then
fso.CreateFolder(dest)
End If
For Each file In sourceFolder.Files
If Left(file.Name,3)<>"com" Then
fso.CopyFile file.Path,dest & "\" & file.Name
End If
Next
For Each subfolder In sourceFolder.SubFolders
RoboCopy source & "\" & subfolder.Name,dest & "\" & subfolder.Name
Next
End Function
Dim fso
设置fso=WScript.CreateObject(“Scripting.Filesystemobject”)
机器人复制“C:\copy”、“C:\copy1”
功能机器人复制(源、目标)
Set sourceFolder=fso.GetFolder(源)
如果不是(fso.FolderExists(dest)),则
fso.CreateFolder(dest)
如果结束
对于sourceFolder.Files中的每个文件
如果左(file.Name,3)“com”,则
fso.CopyFile file.Path,dest&“\”file.Name
如果结束
下一个
对于sourceFolder.SubFolders中的每个子文件夹
RoboCopy源&“\”子文件夹.Name,目标&“\”子文件夹.Name
下一个
端函数
(尝试)使用/XF ExFile排除与给定名称、路径或通配符匹配的文件。
选项可以在脚本中演示如何执行此操作。。我不确定您的意思。得到了答案。。我们需要做的就是将文件名设为com_*然后排除所有文件。因为您的命令行已经为/XF准备好了,使用Const ROBOCOPY\u PARMS\u EXCLUDE\u FILE=“com\u**”
(标记通配符)可以解决您的问题(未测试!)。