Мы не можем импортировать строку, содержащую CSV с помощью регулируемого привода:PowerShell: параметры переадресации на Commandlet
Import-Csv Variable:\myCsvVariable
Поэтому я написал простую функцию, которая делает то же самое:
Function Import-CsvString {
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)][string[]]$CsvContent,
[char]$Delimiter
)
if ($input) {
$CsvContent = $input;
}
$temp = [System.IO.Path]::GetTempFileName()
($CsvContent | Out-String) | Set-Content -Path $temp;
$m = Import-Csv -Path $temp -Delimiter $Delimiter
Remove-Item $temp -Force
$m;
}
это возможно передать неинформацию Delimiter
в Import-Csv
(или любую другую команду)?
Я знаю, что вы можете легко сделать if...then...else
ли Delimiter
не равно нулю, и вызвать Import-Csv
с или без Delimiter
, но это не то, что я прошу.
Спасибо. В PowerShell довольно много глаголов, и я не знал об этом. Полагаю, в следующий раз я получу команду get-command | ? {$ _. Name -match '. * Csv. *} ', Прежде чем изобретать колесо. –
Вы можете просто называть 'gcm * csv *' :). Вы можете получить список vergs, используя 'Get-Verb'. Надеюсь, это поможет! Во всяком случае, вы должны взглянуть на аргументы о том, что нужно. это очень мощная функция POwerShell при работе с логикой аргументов. –
Спасибо, есть множество особенностей PowerShell, которые я не знаю :) –