使用PowerShell重写CSV文件

时间:2014-04-15 18:17:27

标签: powershell csv

我正在使用从HTML中提取的表,但名称字段实际上是2行(一行用于名称,一行用于ID)

这就是我所拥有的

(Get-Content C:\test\test.csv) | 
Foreach-Object {$_ -replace "Assigned To", "Assigned To,ID"`
-replace ",,,ID: ", ""`
-replace "[0-9],,,", ""`
-replace ",`n", ","}
Set-Content C:\test\Test.txt

我遇到两个问题:当我在powershell窗口中运行它时,它似乎执行正常,但当我右键单击保存的脚本并执行时,它说:

cmdlet Set-Content at command pipeline position 1
Supply values for the following parameters:
Value[0]: 

我认为这与-replace“[0-9] ,,,”,“”

有关

有谁知道我在那里做错了什么?

1 个答案:

答案 0 :(得分:1)

很明显,powershell希望您“为以下参数提供值: 值[0]:“

http://technet.microsoft.com/en-us/library/hh849828.aspx

你只给了它路径参数。我假设你打算将“Value”参数传递给set-content cmdlet:

(Get-Content C:\test\test.csv) | Foreach-Object {
    $_ -replace "Assigned To", "Assigned To,ID"`
    -replace ",,,ID: ", ""`
    -replace "[0-9],,,", ""`
    -replace ",`n", ","
} | Set-Content C:\test\Test.txt