2013-03-29 17 views
6
$BizTalkHelper = "d:\Scripts\BizTalkHelper.ps1" 
.$BizTalkHelper # "dot source" the helper library. 
Write-Host *** BEGIN *** 

Write-Host $(Get-Date) " Desc:" {GetHostStateDesc 1 } 
Write-Host $(Get-Date) " Desc:" GetHostStateDesc 2 

$result = GetHostStateDesc 1 
Write-Host $result 

Moje funkcje drukuje "hello", oprócz instrukcji switch do tłumaczenia 1 do "Stopped", 2 do "Start Pending", 4 do "Running" , etc ... Więc wiem, że nie jest wywoływany w dwóch pierwszych przypadkach.Jak wywołać funkcję w języku Powershell Write-Host oświadczenie

Wyniki:

*** BEGIN *** 
3/29/2013 11:03:34 AM Desc: GetHostStateDesc 1 
3/29/2013 11:03:34 AM Desc: GetHostStateDesc 2 
hello 
Function GetHostStateDesc 1 
Stopped 

Odpowiedz

1

Wygląda to tak:

Write-Host $(Get-Date) " Desc:" $(GetHostStateDesc 1) 

zauważyłem składnię wokół Get-Date$(), więc jeśli jest to funkcja, domyśliłem się, że to działa na mojej funkcji i to zrobił.

8

Spróbuj tego:

function SayHello {'Hello'} 
write-host $(SayHello) 

Drukuje:

Hello 
+2

również bez sub-wyrażenie 'write-host (sayHello)' –

+1

@andy - $ prawda, że. – mjolinor

+0

co z dziennikiem zapisu Andy'ego Arismendiego? http://poshcode.org/2575 – Kiquenet

Powiązane problemy