Powershell robocopy多个通配符

时间:2016-05-06 23:25:01

标签: powershell conditional wildcard robocopy

对于通配符标记,我只能说名称中包含spMPK的文件吗?

$source = "D:\scripts\watcher\2015-007"
$destination = "K:\public\scripts\watcher\2015-006"
$sourceOptions = "*sp* *MPK* /COPYALL"
$sourceOptions2 = "*sp* /COPYALL"
$copyOptions = "/Z /SECFIX /XX /MT[:32] /LOG+:$destination\logs\RoboLog.txt /V /R:5 /W:1" 


New-Item K:\public\scripts\watcher\2015-006\logs -ErrorAction SilentlyContinue -type directory

Start-Process robocopy -ArgumentList "$source $destination $sourceOptions $copyOptions" -wait -NoNewWindow -PassThru 

我正在使用PowerShell运行robocopy,我创建了一些变量并将它们按正确的顺序放置,以便它们可以与robocopy一起使用。

在变量$sourceOptions中,我为robocopy定义了一些通配符。 文件名中包含spMPK的任何内容都会移到目标位置。

对于通配符标记,我只能说名称中包含spMPK的文件吗?

2 个答案:

答案 0 :(得分:0)

使用*sp*MPK**MPK*sp*的组合应归档您的目标,即复制名称中包含spMPK的文件。

答案 1 :(得分:0)

我有同样的问题,然后决定尝试使用多个/IF I 包括 F ile)标志,并且该标志可以正常工作。 例如:robocopy . otherdir\ /IF *sp* /IF *MPK*

会将包含sp的文件和包含MPK的文件从当前目录复制到otherdir\

希望有帮助。