我试图输出到动态创建的文件,但我似乎无法工作。这是我代码中的那部分 -
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"在脚本运行的目录中。
答案 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
将目录和文件名组合成一个完全限定的路径名。