首页 > 解决方案 > 将数据插入PowerShell

问题描述

我正在进行存档过程,我想将结果插入 CSV 文件。这个过程看起来像,

$source_path="D:\backup"
$destination="E:\backup"
$start_datetime=date
copy source target
$end_datetime=date

CSV 文件看起来像

Date | Start | end | Source | Destination

我想插入以下数据。

DATE = today's date.
Start = $start_datetime
end = $end_datetime
Source = $source_path
Destination=$destination

我尝试了一些将数据写入 CSV 的方法,但我无法达到确切的目标。

谁可以帮我这个事?

标签: windowspowershellcsvexport-to-csv

解决方案


查看 psobjects -示例指南

例如:

[array]$myObject = [pscustomobject]@{
    DATE = today's date.
    Start = $start_datetime
    end = $end_datetime
    Source = $source_path
    Destination=$destination
}

$myObject | Export-Csv C:\temp\myfile.csv

编辑- 我不确定你将如何使用Export-Csv. 所以我会举几个例子。但是,这确实超出了仅按要求导出 CSV 的范围。我建议用更多关于需求的细节来重写它,或者把它分成几个问题。

foreach($thing in $things){

    # increment array with multiple rows
    [array]$myObject += [pscustomobject]@{
        DATE = today's date.
        Start = $start_datetime
        end = $end_datetime
        Source = $source_path
        Destination=$destination
    }
}

# add data to an existing csv, which has the heading DATEM Start, end, Source, Destination
$myObject | Export-Csv C:\temp\myfile.csv -Append

# if/else logic
if($end_time -gt $somevariable){
    [array]$myObject = [pscustomobject]@{
        DATE = today's date.
        Start = $start_datetime
        end = $end_datetime
        Source = $source_path
        Destination=$destination
    }         
}else{
    [array]$myObject = [pscustomobject]@{
        DATE = someotherdate
        Start = $start_datetime
        end = $end_datetime
        Source = $source_path
        Destination=$destination
    }
}

推荐阅读