管道输入" New-Items"在PowerShell中

时间:2014-06-28 03:57:00

标签: powershell pipe

我试图输出到动态创建的文件,但我似乎无法工作。这是我代码中的那部分 -

New-Item -Path $LogPath -Name $InfoLog -Type File -Force
New-Item -Path $LogPath -Name $ErrorLog -Type File -Force
"Script started at: $DateStamp_${TimeStamp}" | $InfoLog

我还尝试了">>"而不是管道。脚本运行正常,它不会将输出传输到文件中。相反,它将它传递给一个名为" 0"在脚本运行的目录中。

1 个答案:

答案 0 :(得分:0)

三件事。

首先,New-Item输出它创建的项目。因此,除非您对输出对象执行某些操作,否则New-Item会将新文件项输出到管道。所以我想你可能想说:

New-Item -Path $LogPath -Name $InfoLog -Type File -Force | Out-Null

其次,由于您没有指定要写入的文件的路径,因此PowerShell将采用当前位置。

最后,如果要将输出写入日志文件,可能需要使用Out-File。也许是这样的:

$infoLogPath = Join-Path $LogPath $InfoLog
"Script started at: $DateStamp_${TimeStamp}" | Out-File $infoLogPath

Join-Path将目录和文件名组合成一个完全限定的路径名​​。