Condividi tramite


Write-Host

Scrive l'output personalizzato in un host.

Sintassi

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

Descrizione

Lo scopo principale del cmdlet Write-Host è quello di produrre output solo per-(host)-display, ad esempio la stampa di testo colorato come quando viene richiesto all'utente di immettere in combinazione con Read-Host. Write-Host usa il metodo ToString() per scrivere l'output. Al contrario, per restituire i dati alla pipeline, usare output di scrittura o output implicito.

È possibile specificare il colore del testo usando il parametro ForegroundColor ed è possibile specificare il colore di sfondo usando il parametro BackgroundColor. Il parametro Separator consente di specificare una stringa da utilizzare per separare gli oggetti visualizzati. Il risultato specifico dipende dal programma che ospita PowerShell.

Nota

A partire da Windows PowerShell 5.0, Write-Host è un wrapper per Write-Information Questo consente di usare Write-Host per generare output nel flusso di informazioni. In questo modo, l'acquisizione di o l'eliminazione di di dati scritti usando Write-Host mantenendo al tempo stesso la compatibilità con le versioni precedenti.

La variabile di preferenza $InformationPreference e InformationAction parametro comune non influiscono sui messaggi Write-Host. L'eccezione a questa regola è -InformationAction Ignore, che elimina in modo efficace Write-Host output. (vedere "Esempio 5")

Esempio

Esempio 1: Scrivere nella console senza aggiungere una nuova riga

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

Questo comando visualizza la stringa 'no newline test' con il parametro NoNewline.

Viene scritta una seconda stringa, ma termina sulla stessa riga della prima a causa dell'assenza di una nuova riga che separa le stringhe.

Esempio 2: Scrivere nella console e includere un separatore

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

Questo comando visualizza i numeri pari da due a dodici. Il parametro Separator viene usato per aggiungere la stringa , +2= (virgola, spazio, +, 2, =, spazio).

Esempio 3: Scrivere con testo e colori di sfondo diversi

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

2, -> 4, -> 6, -> 8, -> 10, -> 12

Questo comando visualizza i numeri pari da due a dodici. Usa il parametro ForegroundColor per restituire testo verde scuro e il parametro BackgroundColor per visualizzare uno sfondo bianco.

Esempio 4: Scrivere con testo e colori di sfondo diversi

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

Questo comando visualizza la stringa "Red on white text". Il testo è rosso, come definito dal parametro ForegroundColor. Lo sfondo è bianco, come definito dal parametro BackgroundColor.

Esempio 5: Eliminare l'output da Write-Host

# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null

Questi comandi eliminano efficacemente l'output del cmdlet Write-Host. Il primo usa il parametro InformationAction con il valore Ignore per eliminare l'output nel flusso di informazioni. Il secondo esempio reindirizza il flusso di informazioni del comando alla variabile $null e quindi lo elimina. Per altre informazioni, vedere about_Output_Streams.

Parametri

-BackgroundColor

Specifica il colore di sfondo. Nessun valore predefinito. I valori accettabili per questo parametro sono:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Tipo:ConsoleColor
Valori accettati:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForegroundColor

Specifica il colore del testo. Nessun valore predefinito. I valori accettabili per questo parametro sono:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Tipo:ConsoleColor
Valori accettati:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NoNewline

Le rappresentazioni di stringa degli oggetti di input vengono concatenate per formare l'output. Non vengono inseriti spazi o nuove righe tra le stringhe di output. Nessuna nuova riga viene aggiunta dopo l'ultima stringa di output.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Object

Oggetti da visualizzare nell'host.

Tipo:Object
Alias:Msg, Message
Posizione:0
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Separator

Specifica una stringa separatore da inserire tra gli oggetti visualizzati dall'host.

Tipo:Object
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Object

È possibile inviare tramite pipe oggetti da scrivere nell'host in questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output. Invia gli oggetti all'host. L'host visualizza gli oggetti inviati da questo cmdlet.

Note

  • Quando si scrive una raccolta nell'host, gli elementi della raccolta vengono stampati sulla stessa riga separata da un singolo spazio. È possibile eseguire l'override con il parametro separatore.

  • I tipi di dati non primitivi, ad esempio gli oggetti con proprietà, possono causare risultati imprevisti e non fornire output significativo. Ad esempio, Write-Host @{a = 1; b = 2} stamperà System.Collections.DictionaryEntry System.Collections.DictionaryEntry nell'host.