我创建了一个带有几行或几行的csv文件。现在想想是导入该文件并在每行创建一个新文件。所以每一行都有自己的内容文件。
我创建了以下powershell代码:
$Import = import-csv C:\temp\output.csv
$CreateFileName = $Import | Select-Object $_.TicketNumber -Expand "TicketNumber"
foreach ($row in $Import)
{
export-csv -Path $row.CreateFileName.csv -noType
}
运行此脚本时出现以下错误:
cmdlet Export-Csv at command pipeline position 1
Supply values for the following parameters:
InputObject:
答案 0 :(得分:0)
如果您希望输出文件包含标题行TicketNumber
的票号,您可以执行以下操作:
Import-Csv 'C:\temp\output.csv' | select TicketNumber | % {
Export-Csv -Input $_ -Path "$($_.TicketNumber).CreateFileName.csv" -noType
}
如果您希望输出文件只包含故障单编号(没有标题行),您可以执行以下操作:
Import-Csv 'C:\temp\output.csv' | select TicketNumber -Expand TicketNumber | % {
Set-Content "$_.CreateFileName.csv" $_
}
答案 1 :(得分:0)
那是因为以下内容没有返回任何内容:
$row.CreateFileName.csv
所以整条线变成了:
export-csv -Path -noType
和PowerShell有帮助地认为你忘记了这条道路。
答案 2 :(得分:-1)
这不是错误。 您没有为cmdlet指定InputObject参数。 您可以修复或明确设置此参数:
export-csv -Path $row.CreateFileName.csv -noType -InputObject $row
或者通过管道将其发送到cmdlet:
$row | export-csv -Path $row.CreateFileName.csv -noType