我想创建一个使用PowerShell记录我所有购买的应用程序

时间:2017-03-15 22:16:30

标签: powershell csv scripting export-to-csv powershell-v5.0

我是一名学生,目前正在学习PowerShell。我想通过编写各种脚本来测试我学到的东西。

我想记录我的购买,然后能够分析该数据。

我认为创建一个CSV文件是最好的,到目前为止我已经用标题创建了它。

$csvcontent = @()

$csvcontent+=New-Object PSObject -Property @{Date="";Place_of_Purchase="";Item_Purchased="";Amount_Paid="";Taxes_Paid_on_Item="";Purchase_Method=""}

$csvcontent | Export-Csv $HOME\Desktop\ReceiptData.csv -NoTypeInformation

然后我将其导入,然后我的问题是如何使用Read-Host不断向每个标题添加行?我环顾四周,似乎大多数人静静地添加了另一行代码来添加数据。

最后,我是否应该在Powershell中写这篇文章,因为我正在学习Python,我认为这会让它更具适应性?

感谢你们的时间,并注意我是菜鸟!

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

function Enter-Purchase{

    $CSVContent =New-Object PSObject -Property @{Date="";Place_of_Purchase="";Item_Purchased="";Amount_Paid="";Taxes_Paid_on_Item="";Purchase_Method=""}

    $CSVContent | Get-Member | 
    Where-Object {$_.MemberType -eq 'NoteProperty'} | 
    Select-Object Name | 
    ForEach-Object {$CSVContent.$($_.name) = Read-host "Enter $($_.name)"}

    $CSVContent | export-csv ReceiptData.csv -Append -NoTypeInformation

}

Enter-Purchase

这将提示用户输入$CVSContent的每个音符属性并将其附加到ReceiptData.csv