powershell-Skript zum Auslesen der Parameter aus txt
Ich habe ein Skript, das dauert 2 Parameter (name und Ort). Ich legte den Namen und Standort in eine txt-Datei nach diesem post hier Powershell-Parameter aus der Datei. Ich habe Sie aufgefordert werden, in den Wert für den 2. parameter:
Import-Csv 'C:\temp\paramtest.txt' | % { C:\temp\script\paramtest.ps1 @_ }
cmdlet paramtest.ps1 at command pipeline position 1 Supply values for
die folgenden Parameter ein: param2:**
Dies ist, was mein .txt so Aussehen:
"param","param2"
"foo","c:\temp"
"bar","c:\temp"
"foobar","c:\temp"
sowie das Powershell-Skript ist einfach nur:
Param (
[Parameter(mandatory=$true,Position=1)]
[string]$param,
[Parameter(mandatory=$true,Position=2)]
[string]$param2
)
$greeting='Hello to ' + $param + ' and ' + $param2
Write-Output $greeting
Jede Hilfe ist willkommen.
- Welche version von PowerShell?
- Von Get-Host und $PSVersionTable, ich habe:Version=4.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim importieren der Datei mit
Import-Csv
cmdlet erhalten Sie Objekte von TypPSCustomObject
zurück.Den splatting-operator (
@
) erwartet eine Hash-Tabelle, nicht einPSCustomObject
.PowerShell 3.0+
Importiert die Parameter aus der txt-Datei, die Sie verwenden konnten
"ConvertFrom-StringData"
- cmdlet, um Sie wieder als hashtables statt:Und formatieren Sie Ihren text-Datei wie folgt:
text.txt
PowerShell 2.0
Wenn Sie sind, arbeiten mit PowerShell 2.0, oder wenn Sie behalten müssen, die das csv-format, die Sie tun können, die Arbeit selbst durch refencing die Werte aus
PSCustomObject
in eine neue hashtable und splat, dass: