PowerShell使用Robocopy多个通配符

3

对于通配符标志,我可以说只复制文件名中同时包含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的文件吗?

不要过于努力。这篇文章提供了一些帮助,介绍如何在PowerShell中正确传递命令行参数给程序。 - Bill_Stewart
2个回答

4

我曾经也有同样的问题,然后尝试了多个/IF(包含文件)标志,它起作用了。 例如:robocopy . otherdir\ /IF *sp* /IF *MPK*

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

希望这能帮到你。


0

使用*sp*MPK**MPK*sp*的组合应该可以实现您复制文件名中同时包含spMPK的目标。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接