[英]How compare output returned from powershell cmdlet with a string
[英]How to insert a cmdlet into a string in powershell
說我想用字符串告訴時間,就像這樣
Write-Output "It's now (Get-Date)"
相對於:
$time = Get-Date
Write-Output "It's now $time"
如何在不將其資源化為變量的情況下獲得相同的結果?
您可以通過在方括號之前添加一個額外的$
來格式化它,然后PowerShell將首先對其進行解析:
Write-Output "It's now $(Get-Date)"
我可以想到兩種方法。 第一種方法是使用子表達式- $()
-運算符:
Write-Host "It is now $(Get-Date)"
第二種方法是使用字符串格式-f
運算符:
Write-Host ("It is now {0}" -f (Get-Date))
請注意, Write-Host
僅會出現在主機應用程序中,並且無法重定向,因此,除非您有特定的原因不想讓命令的輸出重定向,否則我通常不建議您使用它。
-f
運算符為您輸出日期提供了一些靈活性。 例:
"It is now {0:yyyy-MM-dd hh:mm:ss}" -f (Get-Date)
有關日期格式的詳細信息,請參見“ 自定義日期和時間格式字符串 ”。
Write-Host "It's now" (Get-Date)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.