Я не уверен, полностью ли я злюсь или что-то упустил, но я пытаюсь сделать что-то очень простое, а именно разделить загрузку переменных в функции и записать их.
"Легко" говорите? Я бы так и подумал. Но вот небольшой отрывок из моих попыток написать функцию Powehell, чтобы сделать остальную часть моего кода немного проще для глаз.
$logtoFile=$false
function logEntry($entryType, $section, $message)
{
#The way I assumed woudl work
$logString1 = $(get-Date -format "yyyy-MM-dd hh:mm:ss") + "|" + $entryType + "|" + $section + "|" + $message
#Another way which should also work
$logString2 = "$(get-Date -format "yyyy-MM-dd hh:mm:ss")|$entryType|$section|$message"
#Proof that it is not the pipes causing issues
$logString3 = "$(get-Date -format "yyyy-MM-dd hh:mm:ss"),$entryType,$section,$message"
#another method I found. Not sure what the issue is there
$logString4 = $(get-Date -format "yyyy-MM-dd hh:mm:ss"), $entryType, $section, $message -join "|"
$WhatIwant = $(get-Date -format "yyyy-MM-dd hh:mm:ss") + "|0|moonin|plimsole"
if($script:logtoFile)
{
Add-Content $logFile $logString
}
else
{
write-host $logString1
write-host $logString2
write-host $logString3
write-host $logString4
write-host $whatIwant
}
}
logEntry(0,"moomin","plimsole")
Выход:
2011-02-17 11:22:59|System.Object[]||
2011-02-17 11:22:59|0 moomin plimsole||
2011-02-17 11:22:59,0 moomin plimsole,,
2011-02-17 11:22:59|0 moomin plimsole||
2011-02-17 11:22:59|0|moonin|plimsole
Осматривая, я нашел несколько альтернатив, ни одна из которых, похоже, не дает правильных результатов. Я не уверен, что в целом означает "смешать все переменные вместе, разделенные пробелом".