Apakah mungkin menggunakan file konfigurasi dengan skrip PowerShell?
Misalnya, file konfigurasi:
#links
link1=http://www.google.com
link2=http://www.apple.com
link3=http://www.microsoft.com
Dan kemudian panggil informasi ini dalam skrip PS1:
start-process iexplore.exe $Link1
powershell
scripting
Xavier C
sumber
sumber
Index was outside the bounds of the array. At C:\testConfigreader.ps1:13 char:264 + ... -ne $True)) { $h.Add($k[0], $k[1]) } } + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [], IndexOutOfRangeException + FullyQualifiedErrorId : System.IndexOutOfRangeException
Apakah ada yang punya ini berfungsi dengan benar?[Sections]
atau; semicolon comments
, Anda dapat melakukannya dengan adil$config = Get-Content $ConfigPath | ConvertFrom-StringData
. Lihat ConvertFrom-StringData untuk detailnya.Ada utas yang bagus di sini yang menunjukkan kode ini (mengutip dari utas tertaut):
Maka Anda dapat melakukan:
Dengan asumsi file INI terlihat seperti ini:
Sayangnya, regex hilang dari kode pada tautan sehingga Anda harus mereproduksi mereka, tetapi ada versi yang menangani file tanpa header bagian dan baris yang merupakan komentar.
sumber
switch
with'^#' {}
. Anda juga dapat mengakses konten yang dapat hashtable dengan sebuah titik, jadi$links.vendors.link1
sebaiknya Anda juga bekerja yang mungkin sedikit lebih baik untuk dibaca.ya, cmdlet yang Anda cari adalah get-content dan select-string.
sumber
Untuk pendekatan yang lebih komprehensif, pertimbangkan https://github.com/alekdavis/ConfigFile . Modul ini mendukung file konfigurasi dalam format JSON, juga INI. Ini memungkinkan perluasan variabel dan melakukan beberapa trik yang rapi. Yang perlu diingat adalah bahwa nama pasangan kunci-nilai dalam file INI harus cocok dengan nama-nama parameter atau variabel skrip.
sumber