执行命令替换 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

这将调用两次日期命令,第一次打印星期几,第二次打印当前时间。

我需要知道在命令提示符中执行此操作,(我已经知道有一种方法可以将其用作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 编写)。

相关内容