2015-02-05 52 views
0

以下腳本將以$null值爲條件饋送ConvertTo-Html帶空輸入的ConvertTo-Html

Invoke-SqlCmd -ServerInstance xxxx "select top 0 1 A -- returns no row" | 
    ConvertTo-Html -Fragment 

它會生成下面的html代碼。有沒有簡單的方法(不引入變量和if語句)不生成空的<table>,但如果輸入爲空的文本消息?

<table> 
</table> 

還是有辦法讓Invoke-SqlCmd返回一個字符串,如果是空的?

+0

'ConvertTo-Html -Fragment'正在做它被告知要做的事情。在表中包裝'$ null'。不要以爲你可以改變這種行爲。沒有'如果'?您正在要求對無效做出反應,因此必須建立一個條件。你也可以檢查輸出是否匹配'

' – Matt 2015-02-05 16:45:10

+0

因爲缺少[this],所以沒有'if'語句是不可能的(http://stackoverflow.com/questions/2416662/what-are-the -powershell -bashs-and-operators),它可以在Bourne shell中工作 – arco444 2015-02-05 17:17:32

回答

0

不要認爲有一種方法可以根據您提供的限制標準獲取您要求的內容。你正試圖阻止/賬戶的行爲是這個

$null | ConvertTo-Html -Fragment 
<table> 
</table> 

$null東西有形ConvertTo-Html與table標籤包裝。如果你想對此做出反應,需要一些條件陳述。

$table = $null | ConvertTo-Html -Fragment 
If([string]$table -eq "<table> </table>"){Write-Host "Table is empty" -ForegroundColor Red}