【问题标题】:powershell append date time to beginning of filepowershell 将日期时间附加到文件的开头
【发布时间】:2017-07-14 19:30:26
【问题描述】:

我正在努力获取一个将值转储到 output.xml 中的 powershell 命令。首先向用户请求一个值,然后为该值解析应用程序日志并将结果返回到 output.xml。我还想用日期时间戳标记开头,但无法弄清楚。这是我想出的完成解析的方法,我尝试使用其他一些方法:

read-host (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")

我想我不明白将这部分代码放在哪里才能使其正常工作。我的整个脚本是这样的。

$value = read-host "Enter your search value"
Get-WinEvent -Logname application -EA silentlycontinue | ?{$_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning"} | Out-File '$output.xml' -Append 

【问题讨论】:

  • 使用Out-File 而不是Read-Host,但请注意您的output.xml 文件实际上不是有效的xml

标签: powershell


【解决方案1】:

也使用Out-File 写入文件的第一行:

$value = Read-Host "Enter your search value"
"# $(Get-Date -Format 'dd-MM-yyyy-hh-mm-ss')" |Out-File output.log
"# User $($env:USERNAME) supplied the following search term '$value'" |Out-File output.log -Append
Get-WinEvent -Logname application -EA silentlycontinue | ?{$_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning"} | Out-File output.log -Append

【讨论】:

  • 谢谢,这正是我想要的。
  • @GregW 不客气。如果它解决了您的问题,请考虑通过单击左侧的复选标记将我的答案标记为“已接受”
【解决方案2】:

如果您要查找的只是作为数据的第一行,请改用此行。

(Get-Date).tostring("dd-MM-yyyy-hh-mm-ss") | Out-File .\output.xml

如果要在日期之后添加更多行,请不要忘记使用 -Append。

【讨论】:

  • 我在语法中有附加,我只是想了解我可以将获取日期部分放在哪里,以将日期/时间戳标记到每次运行期间收集的数据的开头。跨度>
【解决方案3】:

对您的 write 方法的简单修改:

Out-File "$(Get-Date -UFormat '%Y-%m-%d-%H-%M-%S-')$output.xml" -Append

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2021-09-28
    • 2021-11-22
    相关资源
    最近更新 更多