Używam skrypt PowerShell z pliku wsadowego. Skrypt pobiera stronę internetową i sprawdza, czy treść strony jest łańcuchem "OK".Jak wypisać coś w PowerShell
Skrypt programu PowerShell zwraca poziom błędu skryptowi wsadowemu.
Skrypt wsadowy jest wykonywany przez ScriptFTP, program automatyzujący FTP. Jeśli wystąpi błąd, skrypt ScriptFTP może wysłać pełne dane wyjściowe konsoli do administratora za pośrednictwem poczty e-mail.
W skrypcie PowerShell, chciałbym wyprowadzić wartość zwracaną z witryny internetowej, jeśli nie jest "OK", więc komunikat o błędzie zostanie dołączony do wyjścia konsoli, a tym samym do wiadomości statusu.
Jestem nowy w programie PowerShell i nie jestem pewien, która funkcja wyjściowa do tego służy. Widzę trzy:
- Write-Host
- Write-Output
- Write-Error
Co byłoby słuszne użyć zapisu ekwiwalent windowsowej stdout
?
To nie jest tak naprawdę, co się dzieje. Jest to wyrażenie dosłowne i jedyna w jego trakcie. W związku z tym jest to odpowiednik słowa "Hello, World!" | Out-Host'. Natomiast "Out-Host" wysyła obiekty do hosta PowerShell w celu wyświetlenia, a jego implementacja zależy od hosta. Host konsoli wysyła je do standardowego uchwytu wyjściowego (przepuszczając przez to 'Out-Default' po drodze). Program PowerShell ISE wyświetla je w panelu wyjściowym, a inne hosty mogą wykonywać całkowicie inne czynności. – Joey
Obiekty nie są ślepo przekształcane na ciąg znaków, ale przechodzą przez _formatter_, który decyduje o tym, co z nimi zrobić. Dlatego widzisz na przykład wynik "Get-ChildItem" w postaci tabeli i wyniki z wieloma właściwościami (np. WMI) domyślnymi zamiast "Format-List". – Joey