Используя MsDeploy-Sync для локального копирования только одного файла

В настоящее время я копирую все $DeploymentPath (папка) локально, а затем удаляя все файлы в нем, кроме 1 файла, который я хочу.

MsDeploy-Sync `
       -SourceContentPath:"$DeploymentPath" `
       -DestinationContentPath:"$SupportFolder/WebPages" `

Get-ChildItem "$SupportFolder\WebPages" -Exclude "web.config.js" |
  Remove-Item

Что я хочу сделать:

скопировать только 1 файл web.config.js локально, если его там не существует, вернуть false.

  • я пишу этот кусок кода в ps1 файл, но я должен использовать MsDeploy команды.

Является ли это возможным?

1 ответ

Решение

Прежде всего, вы должны использовать командлет Join-Path, чтобы объединить путь в PowerShell.

Чтобы проверить, существует ли файл, просто используйте командлет Test-Path:

$webConfigPath = Join-Path $SupportFolder '\WebPages\web.config.js'
if (Test-Path $webConfigPath)
{
     MsDeploy-Sync `
        -SourceContentPath (Join-Path $DeploymentPath 'web.config.js') `
        -DestinationContentPath (Join-Path $SupportFolder 'fromServer_web.config.js')
}
else
{
    $false # return $false
}
Другие вопросы по тегам