PowerShell будет захватывать стандартный вывод любой команды в виде строки или массива строк.
Оттуда вы можете использовать регулярное выражение для сбора количества копий файлов в переменной $ Matches, которая создается с помощью -матч. Примечание. Переменная $ Matches заполняется только при передаче одной строки. Вы можете использовать -match, чтобы получить правильную строку из массива, но затем вам нужно снова сопоставить, чтобы получить группы захвата. "?"создает именованную группу захвата, к которой мы можем получить доступ как свойство $ Matches.
$result = xcopy /D /S /E "C:\folder1\*.*" "C:\folder2" /y
($results | Where-Object {$_ -match "(\d+) File"}) -match "(?<Count>\d+) File"
if ([int]$Matches.Count -gt 0) {
# Do Stuff
}
else {
# Write a message, write to a log, whatever
}