Elegent maneira de definir variáveis em arquivos. ini

1

Atualmente, estou tentando fazer o script da instalação do Microsoft Sql Server 2012, e tive um problema ao permitir que o usuário definisse opções para o processo de instalação no meu script PowerShell

Como as opções do sql server estão definidas em um arquivo .ini, não sei qual é a melhor maneira de editar o arquivo .ini. Eu podia me ver

  • Copiando todo o arquivo .ini no powershell e definindo as variáveis dentro das aspas para escrevê-lo mais tarde, ou
  • salvando o arquivo ini separadamente e procurando por cada linha, eu preciso definir variáveis como uma string para editar separadamente.

Existe alguma maneira mais elegante de trabalhar com arquivos .ini do que isso? Existe algum módulo do PowerShell "localizar e substituir" para arquivos que eu poderia usar?

    
por comp.sci.intern 28.07.2017 / 17:01

1 resposta

1

Trate o .ini como um arquivo de texto. Digamos que temos o seguinte .ini:

[section1]
var1=foo1
[section2]
var2=foo2
var3=foo3

Para alterar o valor atribuído a "var2", podemos fazer:

(get-content .\test.ini).Replace('foo2','bar2') | Set-Content .\test.ini

Onde "bar2" é o valor definido pelo usuário. Para incorporar o valor definido pelo usuário, você poderia fazer:

$ini = ".\test.ini"
$userInput = Read-Host -Prompt "Enter a new value for var2"
(get-content $ini).Replace('foo2',$userInput) | Set-Content $ini

A maneira que você escolhe para projetar como você lida com a substituição dependerá dos dados em seu arquivo particular.

    
por 28.07.2017 / 17:53