執行命令替換 Windows 命令提示符

執行命令替換 Windows 命令提示符

如何在 Windows 命令提示字元下執行命令替換?

指令替換是 UNIX shell 的一個非常強大的概念。它用於將一個命令的輸出插入到第二個命令中。例如,有一個作業:

$ today=$(date) # starts the "date" command, captures its output
$ echo "$today"
Mon Jul 26 13:16:02 MEST 2004

除了賦值之外,這也可以與其他命令一起使用:

$ echo "Today is $(date +%A), it's $(date +%H:%M)"
Today is Monday, it's 13:21

這將呼叫 date 命令兩次,第一次列印星期幾,第二次列印目前時間。

我需要知道在命令提示字元中執行此操作(我已經知道有一種方法可以使用命令的一部分來執行類似的操作for,但這種方法更加混亂和複雜。

答案1

在 DOS 中你不能這樣做。

如果您所說的 DOS 指的是 Windows 命令處理器,cmd.exe那麼您可以使用以下命令來取得命令的輸出for /f

for /f %%x in ('date') do set "today=%%x"

根據您的要求,這可能會變得更複雜一些。

答案2

如果您想要真正的 Unix 風格的命令替換,而不是使用更有限的功能cmd.exe,請考慮取得適用於 Windows 的正版 Unix shell。我可以建議的兩個是西格文(免費,但不太了解 Windows 檔案系統)和我自己的漢密爾頓 C 殼(商業,但為 Windows 編寫)。

相關內容