1
배포시에는 구성 파일의 이름을 바꿔야합니다. 모든 환경 (Dev.Test, Dev.Prod, Integration, Prod)에 대한 설정 파일이 있습니다. 예를 들어 web.config는 Dev.Test 환경을위한 경우 web.Dev.Test.config라고합니다. 대상 컴퓨터에서 Powershell을 사용하여 원래 이름 (예 : web.Dev.Test.config에서 web.config)으로 파일의 이름을 다시 변경해야합니다.Powershell을 사용하여 파일 이름에서 부분 문자열 제거
$test = "web.Dev.Prod.config"
$environment = $test | Select-String -Pattern ".*\.(?<environment>(Dev.Test|Dev.Prod|Prod|Integration))\.config" | select -expand Matches | foreach {$_.groups["environment"].value}
if ($test -match "Dev.Prod")
{
$environment = "Dev.Prod"
}
$environment
$newFileName = $test.Remove($test.IndexOf($environment),$environment.Length + 1)
$newFileName
이 문제는 Regex가 Dev.Prod 환경을 찾지 못했지만 대신 Prod를 반환한다는 것입니다. 이것이 if 문을 도입 한 이유입니다. PowerShell로 파일의 이름을 바꾸는 좀 더 우아한 방법이 있는지 궁금합니다.