使用 MsDeploy-Sync 在本地只复制一个文件

using MsDeploy-Sync to copy only one file locally

目前我正在本地复制所有$DeploymentPath(文件夹),然后 删除其中的所有文件,除了我想要的 1 个文件。

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

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

我想做的事情:

只在本地复制 1 个文件 web.config.js,如果那里不存在,return false。

可能吗?

首先,您应该使用 Join-Path cmdlet 在 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
}