Функция powershell: почему возвращается больше значений? - PullRequest
0 голосов
/ 28 января 2020

Доброе утро всем, я пишу свой первый скрипт ps: функция с 3 входными строками и возвращенной выходной строкой, но что-то звучит странно для меня: это мой код:

function MyLogger($MyString, $MyFileName, $MyFilePath)
{

    $FullLogFile = ($MyFilePath +"\"+ $MyFileName)
    $DateForLog =  Get-Date -Format "yyyy-MM-dd HH:mm:ss" 
    $LogRow = ($DateForLog + " " + $MyString)
    return $LogRow
}

$LogFile = "logname.txt"

$dir = "C:\psscript\workingwithfiles"

$mystr = "stringgggg"

$ret = MyLogger($mystr, $LogFile, $dir)

Write-Host "***************print function res**************"

Write-Host $ret

Write-Host "***************end print function res**************"

почему функция вывод (return $ LogRow) это:

2020-01-28 13:11:03 stringgggg logname.txt C:\psscript\workingwithfiles

и не только это?

2020-01-28 13:11:03 stringgggg 

Полный вывод:

***************print function res**************

2020-01-28 13:11:03 stringgggg logname.txt C:\psscript\workingwithfiles

***************end print function res**************

Спасибо всем

1 Ответ

1 голос
/ 28 января 2020

Лучше использовать синтаксис PowerShell:

function MyLogger
{
    param(  [string]$MyString, 
            [string]$MyFileName, 
            [string]$MyFilePath)


    $FullLogFile = ($MyFilePath +"\"+ $MyFileName)
    $DateForLog =  Get-Date -Format "yyyy-MM-dd HH:mm:ss" 
    $LogRow = ($DateForLog + " " + $MyString)
    return $LogRow
}

$LogFile = "logname.txt"

$dir = "C:\psscript\workingwithfiles"

$mystr = "stringgggg"

$ret = MyLogger -MyString $mystr -MyFileName $LogFile -MyFilePath $dir

Write-Host "***************print function res**************"

Write-Host $ret

Write-Host "***************end print function res**************"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...