我有一个复杂的程序,它需要执行一系列命令,我需要使用&&
将它们组合成一个命令,但这会使这个命令很长,因此很难阅读和维护。
因此我尝试使用set
来合并它们,组合后的命令可以正确打印,但不能正确执行。下面是一个例子。我如何纠正这段代码,使它在语法上有效?
@echo off
set command=dir
set command=%command% ^^^&^^^& tree
rem this line will print the combined string
echo %command%
rem this line will not execute the combined string
%command%
pause
dir && tree
只是一个例子,我用它作为一个例子。在我的程序中有许多命令组合在一起,如cmd1 && cmd2 && cmd3 && ...
。我不能一个接一个地运行它们,我需要使用&&
,只有在前一个成功的情况下才运行每个命令。
3条答案
按热度按时间yv5phkfx1#
很难看,但是下面的代码可以工作。给字符串加上引号,但是去掉引号执行它:
样本输出:
eqoofvh92#
希望不使用一行程序是一个更干净的解决方案。
或者,在一般情况下,
圆括号还允许您轻松地将代码拆分为多行,以提高可读性。
zu0ti5jz3#
&&
表示“如果前一个命令成功”“成功”自然依赖于观察者。
所以我建议