我目前正在将PowerShell功能分离到一个单独的位置。
有没有办法在下面的函数中包含$ LogFileNameTimeStamp,这样我就不必单独声明它了?
$LogFileNameTimeStamp = "{0:yyyy-MM-dd}" -f (GET-DATE)
Function Log-File-Append
{
Param ([string]$logstring)
Add-content $LogFileLocation\$LogFileNameTimeStamp"_log.log" -value $logstring
}
我试过这个,在另一个Stack Overflow帖子上回答:
Add-content $LogFileLocation\"$($theDate.ToString('u'))_log.log" -value $logstring
但是这会返回错误:
您无法在空值表达式上调用方法。
我仍然在使用PowerShell找到我的脚,所以任何指针都会感激不尽。
答案 0 :(得分:0)
您可以使用.NET System.IO.Path.Combine来形成有效的Windows路径,而不是手动执行。
Add-content ([IO.Path]::Combine($LogFileLocation,(("{0:yyyy-MM-dd}" -f (GET-DATE)) + "_log.log"))) -value $logstring
答案 1 :(得分:0)
假设$ LogFileLocation是一个有效的路径,以下内容应该可以正常工作
Function Log-File-Append
{
Param ([string]$logstring)
Add-Content "$LogFileLocation\$((Get-Date).ToString('yyyy-MM-dd'))_log.log" -value $logstring
}