Powershell robocopy несколько подстановочных знаков

Могу ли я сказать, что для подстановочных флагов нужно копировать только файлы, в имени которых есть как sp, так и MPK?

$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 

Я запускаю robocopy с PowerShell, я создал несколько переменных и поместил их в правильную последовательность, чтобы они работали с robocopy.

В переменной $sourceOptions я определяю несколько шаблонов для robocopy. Все, что содержит sp или MPK в имени файла, перемещается в место назначения.

Могу ли я сказать, что для подстановочных флагов нужно копировать только файлы, в имени которых есть как sp, так и MPK?


person FlintSable    schedule 06.05.2016    source источник
comment
Не пытайся слишком сильно. Эта статья содержит некоторую помощь в том, как правильно передавать аргументы командной строки программам в PowerShell. .   -  person Bill_Stewart    schedule 07.05.2016


Ответы (2)


У меня был тот же вопрос, и я решил попробовать несколько флагов /IF (I nclude F ile), и это сработало. например: robocopy . otherdir\ /IF *sp* /IF *MPK*

скопирует оба файла, содержащие sp, и файлы, содержащие MPK, из текущего каталога в otherdir\

надеюсь, это поможет.

person bc3tech    schedule 19.11.2018

Используйте комбинацию *sp*MPK* и *MPK*sp*, чтобы заархивировать вашу цель копирования файлов с sp и MPK в имени.

person Kai Zhao    schedule 09.05.2016