【问题标题】:Powershell export to CSVPowershell 导出到 CSV
【发布时间】:2013-01-23 17:10:26
【问题描述】:

我正在尝试创建一天前的文件报告,我目前有一个包含文件名和日期的脚本:

get-childitem -Path \\UNC_PATH_TO_FILE
         | where-object {$_.lastwritetime -gt (get-date).addDays(-1)}
         | Foreach-Object { $_.Name, $_.CreationTime }

以前我将它导出到每个 UNC 路径的文件中,但是现在它已经增长,将导致读取 22 个单独的文件。

我想将其合并到一个 CSV 文件中,该文件可以包含 ServerFilename ($_.Name) 和 Date ( $_.CreationTime)。

这超出了我的 Powershell 领域,找不到任何可以真正帮助我的东西。有人可以提供一些帮助吗?

【问题讨论】:

    标签: powershell export-to-csv get-childitem


    【解决方案1】:

    你可以试试这个:

    $paths = "\\server1\unc\path", "\\server1\unc\path" 
    Get-ChildItem -Path $paths
             | Where-Object {$_.lastwritetime -gt (Get-Date).addDays(-1)}
             | Select-Object @{n="Server";e={([uri]$_.FullName).Host}},
                             @{n="Filename";e={$_.Name}},
                             @{n="Date";e={$_.CreationTime}},
                             @{n="FileSize(MB)";e={[Math]::Round($_.Length/1MB,3)}}
             | Export-Csv test.csv -NoTypeInformation
    

    它从 UNC 路径中提取服务器名称,并使用您指定的名称重命名其他属性。

    【讨论】:

    • 谢谢你,它给了我部分我正在寻找的东西。我只想能够一次查询多个服务器。但这将为每个服务器提供一个 CSV 而不是一个 CSV,您知道我该如何实现吗?再次感谢。
    • 尝试更新的答案。使用$path 字符串数组来提供路径。
    • 非常感谢,成功了。你也知道文件大小的命令吗?我只能为此找到非常复杂的过程,没有像“$_.Name,$_.CreationTime等”这样简单的。
    • 我现在更新了以 MB 为单位的文件大小,大小四舍五入到小数点后 3 位。如果您需要修改它(例如 KB 或 2 个小数位),我想您会自己找到它:-)
    【解决方案2】:

    这是一个为每个文件创建一个新对象的示例:

    Get-ChildItem -Path \\UNC_PATH_TO_FILE |
    Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-1)} | 
    ForEach-Object { 
        New-Object PSObject -Property @{
            Server = $_.FullName -replace '^\\\\([\w]+)\\.+$','$1'
            Name = $_.Name
            CreationTime = $_.CreationTime    
        }
    } | Export-Csv -Path files.csv -NoTypeInformation
    

    【讨论】:

      【解决方案3】:

      以下应该有效:

      get-childitem -Path \\UNC_PATH_TO_FILE
               | where { $_.lastwritetime -gt (get-date).AddDays(-1)} 
               | foreach-object { $env.COMPUTERNAME,$_.Name, $_.CreationTime}
               | Export-Csv -Path foo.txt -NoTypeInformation
      

      【讨论】:

        猜你喜欢
        • 2015-01-17
        • 2016-10-23
        • 1970-01-01
        • 2018-01-22
        • 2018-03-13
        • 1970-01-01
        • 2018-04-03
        • 2013-08-26
        相关资源
        最近更新 更多