更新:我刚刚发现我运行它的客户端是 PS V1。我不能使用喷溅。
我有一个处理 csv 文件的脚本。我不提前知道文件是否有标题,所以我提示用户输入标题或使用文件中的标题:
$header = Read-Host 'Input your own header?'
我想要做的是能够检查是否已设置标头变量以决定在执行 Import-CSV 命令行开关时是否要使用该标志。
我已经尝试了很多事情:
IF($Header){Import-Csv $File -delimiter $delimiter -Header $header }
ELSE
{Import-Csv $File -delimiter $delimiter} |
或者
IF($Header){Import-Csv $File -delimiter $delimiter -Header $header | %{$_} }
ELSE
{Import-Csv $File -delimiter $delimiter | %{$_}}
第一个示例导致对空管道的投诉。第二个导致文件的第一列只是被输出到控制台,然后在文件完成处理时出错,因为管道的其余部分是空的。
一如既往,任何帮助将不胜感激。
谢谢,比尔