簡體   English   中英

如何在Powershell中的字符串中插入cmdlet

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM