Используя 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
}