Benutzer-Werkzeuge

Webseiten-Werkzeuge


ini_file_lesen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
ini_file_lesen [2016/09/23 11:06] – angelegt damianini_file_lesen [2020/06/24 14:33] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +=====Werte aus Ini File auslesen=====
 +
 +===Bash===
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
  
 function readini() { function readini() {
- sections=$(egrep "^\[.{0,}\]" $1 | grep -A1 "\[$2\]" | wc -l)+ sections=$(egrep "^\[.{0,}\]" $1 | grep -i -A1 "\[$2\]" | wc -l)
  case $sections in  case $sections in
  0)  0)
Zeile 10: Zeile 13:
  ;;  ;;
  1)  1)
- fields=$(($(cat $1 | wc -l) - $(egrep -n "^\[.{0,}\]" $1 | grep -A1 "\[$2\]" | cut -d ":" -f 1)))+ fields=$(($(cat $1 | wc -l) - $(egrep -n "^\[.{0,}\]" $1 | grep -i -A1 "\[$2\]" | cut -d ":" -f 1)))
  ;;  ;;
  2)  2)
  a=0  a=0
- for sec in $(egrep -n "^\[.{0,}\]" $1 | grep -A1 "\[$2\]" | cut -d ":" -f 1); do+ for sec in $(egrep -n "^\[.{0,}\]" $1 | grep -i -A1 "\[$2\]" | cut -d ":" -f 1); do
  line[$a]=$sec  line[$a]=$sec
  a=$(($a + 1))  a=$(($a + 1))
Zeile 21: Zeile 24:
  ;;  ;;
  esac  esac
- echo $(egrep -A$fields "^\[$2\]" $1 | egrep "^$3=" | cut -d "=" -f 2)+ echo $(egrep -i -A$fields "^\[$2\]" $1 | egrep -i "^$3=" | cut -d "=" -f 2)
 } }
  
 # Aufruf: # Aufruf:
 readini $INI_DATEI $SEKTION $EINTRAG readini $INI_DATEI $SEKTION $EINTRAG
 +</code>
 +
 +===Powershell===
 +<code Powershell>
 +function readini ($file, $section, $entry) {
 +    $seccheck="[" + $section + "]"
 +    $searchcontent=0
 +    $RESULT=""
 +    Get-Content $file | ForEach-Object {
 +        if ($searchcontent -eq 1) {
 +            $read=$_.Split("=")
 +            if ($read[0] -eq $entry) {
 +                $RESULT=$read[1]
 +                $searchcontent=2
 +            }
 +            $ErrorActionPreference='SilentlyContinue'
 +            if ($_.Substring(0,1) -eq "[") {
 +                $searchcontent=0
 +            }
 +            $ErrorActionPreference='Continue'
 +        }
 +        if ($_ -eq $seccheck) {
 +            $searchcontent=1
 +        }
 +    }
 +Write-Output $RESULT
 +}
 +
 +# Aufruf:
 +readini -file $INI_DATEI -section $SEKTION -entry $EINTRAG
 +# oder
 +readini $INI_DATEI $SEKTION $EINTRAG
 +
 +# Wichtig! Die Werte innehralb der Variablen müssen in Anführungszeichen stehen. Ansonsten krachts.
 </code> </code>
ini_file_lesen.1474628801.txt.gz · Zuletzt geändert: 2020/06/24 14:33 (Externe Bearbeitung)