代码之家  ›  专栏  ›  技术社区  ›  user3026965

导出到时,在文件名中插入时间戳。csv

  •  0
  • user3026965  · 技术社区  · 7 年前

    我正在尝试插入 文件名中的时间戳 PowerShell scrip生成的输出文件的。

    因此 filelist.csv ,它用实际时间戳(输出文件的修改时间)命名输出文件,如 YYYYMMDD_HHMMSS_filelist.csv .

    Get-childitem -recurse -file | select-object @{n="Hash";e={get-filehash -algorithm MD5 -path $_.FullName | Select-object -expandproperty Hash}},lastwritetime,length,fullname | export-csv filelist.csv -notypeinformation
    

    关于上面一行中为输出文件加时间戳缺少的代码是什么,有什么建议吗?

    2 回复  |  直到 7 年前
        1
  •  3
  •   G42    7 年前

    更改:

    export-csv filelist.csv -notypeinformation
    

    收件人:

    Export-Csv "$((Get-Date).ToString("yyyyMMdd_HHmmss"))_filelist.csv" -NoTypeInformation
    

    编辑- .ToString() -UFormat 通常地

    使用时 .ToString() -Format / -UFormat格式 ,您将传递一个DateTime对象并返回一个格式化的字符串。在这两种情况下,您都必须指定要查找的字符串的格式。指定此格式的方式不同。

    this list of .NET format strings 可用于 ToString() / -格式 . 注意,例如。 MM 是01-12个月, M 是第1-12个月 mm 是00-59分钟。

    -UFormat is documented to use UNIX formatting . 我一点也不熟悉这一点,但笔记部分会详细介绍。你可以在这里看到 %m %M

        2
  •  1
  •   Maximilian Burszley    7 年前

    在文件名中,执行以下操作:

    Export-Csv -Path "$(Get-Date -UFormat '%Y%m%d_%H%M%S')_filelist.csv" -NoTypeInformation