Пример 1
Предполагая, что переменные $DeployPropertiesSrc
и $versionToUse
определены в файле сценария, вы можете добавить к этому сценарию следующее:
$DeployPropertiesSrc = "<FolderPath>\deploy.properties"
$versionToUse = "10.0.2"
"deployApps=@(Projectname -$versionToUse)" | Add-Content $DeployPropertiesSrc
Вот содержимое файла deploy.properties после выполнения кода:
Get-Content $DeployPropertiesSrc
deployApps=@(Projectname -10.0.2)
Пример 2
Если значения переменных находятся в вашей текущей области видимости, и вы не хотите, чтобы они сохранялись в файле сценария, тогда вы можете обновить файл сценария, чтобы использовать переданные ему параметры. Имейте в виду, что для простоты я здесь использую необъявленные параметры.
Содержимое prebuild.ps1 :
"deployApps=@(Projectname -$($args[0]))" | Add-Content $args[1]
Затем вы можете вызвать приведенный выше скрипт с такими аргументами:
& .\prebuild.ps1 "10.8" ".\deploy.properties"
Или:
$versionToUse = "7.10.3"
$DeployPropertiesSrc = "some_path\deploy.properties"
& .\prebuild.ps1 $versionToUse $DeployPropertiesSrc
- Если выбрать параметр route, я бы лично выбрал использование
именованные параметры. Если названные параметры не установлены как обязательные,
Вы можете иметь некоторый контроль над тем, выполняется ли этот блок кода и даже назначить значения по умолчанию для параметров. Если эта часть скрипта превращена в функцию, вы получаете другой уровень контроля. С помощью
необъявленные параметры без проверки аргументов могут
привести к нежелательным ошибкам. Иногда вы можете захотеть вызвать скрипт без аргументов, и он будет иметь ошибки, если вы добавите блок кода только в моем примере 2.