Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,68 +0,0 @@
|
|||
function Read-ConfigurationFile
|
||||
{
|
||||
[CmdletBinding()]
|
||||
Param
|
||||
(
|
||||
# Path to the configuration file. Default is "C:\ConfigurationFile.cfg"
|
||||
[Parameter(Mandatory=$false, Position=0)]
|
||||
[string]
|
||||
$Path = "C:\ConfigurationFile.cfg"
|
||||
)
|
||||
|
||||
[string]$script:fullName = ""
|
||||
[string]$script:favouriteFruit = ""
|
||||
[bool]$script:needsPeeling = $false
|
||||
[bool]$script:seedsRemoved = $false
|
||||
[string[]]$script:otherFamily = @()
|
||||
|
||||
function Get-Value ([string]$Line)
|
||||
{
|
||||
if ($Line -match "=")
|
||||
{
|
||||
[string]$value = $Line.Split("=",2).Trim()[1]
|
||||
}
|
||||
elseif ($Line -match " ")
|
||||
{
|
||||
[string]$value = $Line.Split(" ",2).Trim()[1]
|
||||
}
|
||||
|
||||
$value
|
||||
}
|
||||
|
||||
# Process each line in file that is not a comment.
|
||||
Get-Content $Path | Select-String -Pattern "^[^#;]" | ForEach-Object {
|
||||
|
||||
[string]$line = $_.Line.Trim()
|
||||
|
||||
if ($line -eq [String]::Empty)
|
||||
{
|
||||
# do nothing for empty lines
|
||||
}
|
||||
elseif ($line.ToUpper().StartsWith("FULLNAME"))
|
||||
{
|
||||
$script:fullName = Get-Value $line
|
||||
}
|
||||
elseif ($line.ToUpper().StartsWith("FAVOURITEFRUIT"))
|
||||
{
|
||||
$script:favouriteFruit = Get-Value $line
|
||||
}
|
||||
elseif ($line.ToUpper().StartsWith("NEEDSPEELING"))
|
||||
{
|
||||
$script:needsPeeling = $true
|
||||
}
|
||||
elseif ($line.ToUpper().StartsWith("SEEDSREMOVED"))
|
||||
{
|
||||
$script:seedsRemoved = $true
|
||||
}
|
||||
elseif ($line.ToUpper().StartsWith("OTHERFAMILY"))
|
||||
{
|
||||
$script:otherFamily = (Get-Value $line).Split(',').Trim()
|
||||
}
|
||||
}
|
||||
|
||||
Write-Verbose -Message ("{0,-15}= {1}" -f "FULLNAME", $script:fullName)
|
||||
Write-Verbose -Message ("{0,-15}= {1}" -f "FAVOURITEFRUIT", $script:favouriteFruit)
|
||||
Write-Verbose -Message ("{0,-15}= {1}" -f "NEEDSPEELING", $script:needsPeeling)
|
||||
Write-Verbose -Message ("{0,-15}= {1}" -f "SEEDSREMOVED", $script:seedsRemoved)
|
||||
Write-Verbose -Message ("{0,-15}= {1}" -f "OTHERFAMILY", ($script:otherFamily -join ", "))
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
Read-ConfigurationFile -Path .\temp.txt -Verbose
|
||||
|
|
@ -1 +0,0 @@
|
|||
Get-Variable -Name fullName, favouriteFruit, needsPeeling, seedsRemoved, otherFamily
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
Function Read-ConfigurationFile {
|
||||
[CmdletBinding()]
|
||||
[OutputType([Collections.Specialized.OrderedDictionary])]
|
||||
Param (
|
||||
[Parameter(
|
||||
Mandatory=$true,
|
||||
Position=0
|
||||
)
|
||||
]
|
||||
[Alias('LiteralPath')]
|
||||
[ValidateScript({
|
||||
Test-Path -LiteralPath $PSItem -PathType 'Leaf'
|
||||
})
|
||||
]
|
||||
[String]
|
||||
$_LiteralPath
|
||||
)
|
||||
|
||||
Begin {
|
||||
Function Houdini-Value ([String]$_Text) {
|
||||
$__Aux = $_Text.Trim()
|
||||
If ($__Aux.Length -eq 0) {
|
||||
$__Aux = $true
|
||||
} ElseIf ($__Aux.Contains(',')) {
|
||||
$__Aux = $__Aux.Split(',') |
|
||||
ForEach-Object {
|
||||
If ($PSItem.Trim().Length -ne 0) {
|
||||
$PSItem.Trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
Return $__Aux
|
||||
}
|
||||
}
|
||||
|
||||
Process {
|
||||
$__Configuration = [Ordered]@{}
|
||||
# Config equivalent pattern
|
||||
# Select-String -Pattern '^\s*[^\s;#=]+.*\s*$' -LiteralPath '.\filename.cfg'
|
||||
Switch -Regex -File $_LiteralPath {
|
||||
|
||||
'^\s*[;#=]|^\s*$' {
|
||||
Write-Verbose -Message "v$(' '*20)ignored"
|
||||
Write-Verbose -Message $Matches[0]
|
||||
Continue
|
||||
}
|
||||
|
||||
'^([^=]+)=(.*)$' {
|
||||
Write-Verbose -Message '↓← ← ← ← ← ← ← ← ← ← equal pattern'
|
||||
Write-Verbose -Message $Matches[0]
|
||||
$__Name,$__Value = $Matches[1..2]
|
||||
$__Configuration[$__Name.Trim()] = Houdini-Value($__Value)
|
||||
Continue
|
||||
}
|
||||
|
||||
'^\s*([^\s;#=]+)(.*)(\s*)$' {
|
||||
Write-Verbose -Message '↓← ← ← ← ← ← ← ← ← ← space or tab pattern or only name'
|
||||
Write-Verbose -Message $Matches[0]
|
||||
$__Name,$__Value = $Matches[1..2]
|
||||
$__Configuration[$__Name.Trim()] = Houdini-Value($__Value)
|
||||
Continue
|
||||
}
|
||||
|
||||
}
|
||||
Return $__Configuration
|
||||
}
|
||||
}
|
||||
|
||||
Function Show-Value ([Collections.Specialized.OrderedDictionary]$_Dictionary, $_Index, $_SubIndex) {
|
||||
$__Aux = $_Index + ' = '
|
||||
If ($_Dictionary[$_Index] -eq $null) {
|
||||
$__Aux += $false
|
||||
} ElseIf ($_Dictionary[$_Index].Count -gt 1) {
|
||||
If ($_SubIndex -eq $null) {
|
||||
$__Aux += $_Dictionary[$_Index] -join ','
|
||||
} Else {
|
||||
$__Aux = $_Index + '(' + $_SubIndex + ') = '
|
||||
If ($_Dictionary[$_Index][$_SubIndex] -eq $null) {
|
||||
$__Aux += $false
|
||||
} Else {
|
||||
$__Aux += $_Dictionary[$_Index][$_SubIndex]
|
||||
}
|
||||
}
|
||||
} Else {
|
||||
$__Aux += $_Dictionary[$_Index]
|
||||
}
|
||||
Return $__Aux
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
$Configuration = Read-ConfigurationFile -LiteralPath '.\config.cfg'
|
||||
|
|
@ -1 +0,0 @@
|
|||
$Configuration
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
Show-Value $Configuration 'fullname'
|
||||
Show-Value $Configuration 'favouritefruit'
|
||||
Show-Value $Configuration 'needspeeling'
|
||||
Show-Value $Configuration 'seedsremoved'
|
||||
Show-Value $Configuration 'otherfamily'
|
||||
Show-Value $Configuration 'otherfamily' 0
|
||||
Show-Value $Configuration 'otherfamily' 1
|
||||
Show-Value $Configuration 'otherfamily' 2
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
'$Configuration[''fullname'']'
|
||||
$Configuration['fullname']
|
||||
'$Configuration.''fullname'''
|
||||
$Configuration.'fullname'
|
||||
'$Configuration.Item(''fullname'')'
|
||||
$Configuration.Item('fullname')
|
||||
'$Configuration[0]'
|
||||
$Configuration[0]
|
||||
'$Configuration.Item(0)'
|
||||
$Configuration.Item(0)
|
||||
' '
|
||||
'=== $Configuration[''otherfamily''] ==='
|
||||
$Configuration['otherfamily']
|
||||
'=== $Configuration[''otherfamily''][0] ==='
|
||||
$Configuration['otherfamily'][0]
|
||||
'=== $Configuration[''otherfamily''][1] ==='
|
||||
$Configuration['otherfamily'][1]
|
||||
' '
|
||||
'=== $Configuration.''otherfamily'' ==='
|
||||
$Configuration.'otherfamily'
|
||||
'=== $Configuration.''otherfamily''[0] ==='
|
||||
$Configuration.'otherfamily'[0]
|
||||
'=== $Configuration.''otherfamily''[1] ==='
|
||||
$Configuration.'otherfamily'[1]
|
||||
' '
|
||||
'=== $Configuration.Item(''otherfamily'') ==='
|
||||
$Configuration.Item('otherfamily')
|
||||
'=== $Configuration.Item(''otherfamily'')[0] ==='
|
||||
$Configuration.Item('otherfamily')[0]
|
||||
'=== $Configuration.Item(''otherfamily'')[1] ==='
|
||||
$Configuration.Item('otherfamily')[1]
|
||||
' '
|
||||
'=== $Configuration[3] ==='
|
||||
$Configuration[3]
|
||||
'=== $Configuration[3][0] ==='
|
||||
$Configuration[3][0]
|
||||
'=== $Configuration[3][1] ==='
|
||||
$Configuration[3][1]
|
||||
' '
|
||||
'=== $Configuration.Item(3) ==='
|
||||
$Configuration.Item(3)
|
||||
'=== $Configuration.Item(3).Item(0) ==='
|
||||
$Configuration.Item(3).Item(0)
|
||||
'=== $Configuration.Item(3).Item(1) ==='
|
||||
$Configuration.Item(3).Item(1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue