【问题标题】:I want to create an application for logging all my purchases using PowerShell [closed]我想创建一个应用程序来使用 PowerShell 记录我的所有购买 [关闭]
【发布时间】:2017-08-06 21:33:51
【问题描述】:

我是一名学生,目前正在学习 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 不断向每个标题添加行?我环顾四周,似乎主要是人们静态添加另一行代码来添加数据。

最后,当我学习 Python 时,我是否应该费心在 Powershell 中编写这个,我认为这会使它更具适应性?

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

【问题讨论】:

  • PowerShell vs Python 太固执己见了。简短的回答是否定的。流利地学习任何语言都比学习语言 X 胜过 Y 更重要。也就是说,如果你想进入 MS 堆栈,PowerShell IMO 远胜于其他。我在这两个方面都花了时间,只要我需要的只是 Windows 上的考虑,我什至不会考虑 Python。

标签: powershell csv scripting export-to-csv powershell-5.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 的每个Note 属性并将其附加到ReceiptData.csv

【讨论】:

    猜你喜欢
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 2014-01-18
    • 1970-01-01
    • 2020-04-14
    相关资源
    最近更新 更多