首页 > 解决方案 > 声明一个变量并使用它在一行中重定向输出

问题描述

我想设置一个变量并将其用作文件名来重定向输出,所有这些都在命令行和一行中。

我设法打印了 set foo=bar && call echo %foo%prints变量的内容bar

现在,我想写一个像这样 bar命名的文件(这不起作用,它写在一个名为bazset foo=bar && call echo baz > %foo%%foo%

标签: windowscmd

解决方案


您可以通过文件内的变量扩展来做到这一点:

setlocal EnableDelayedExpansion
set foo=bar && @echo baz > !foo!
endlocal

推荐阅读