在cmd中执行整个for后启用echo

时间:2016-02-10 12:32:55

标签: cmd echo command-prompt

当前目录为C:\

如果我跑

for /L %i in (1,1,3) do cd
  • 我得到以下输出:

    C:\>cd
    C:\
    
    C:\>cd
    C:\
    
    C:\>cd
    C:\
    

如果我跑

echo off && for /L %i in (1,1,3) do cd && echo on
  • 我得到以下输出:

    C:\
    
    C:\>cd   && echo on
    C:\
    
    C:\>cd   && echo on
    C:\
    

    echo off仅适用于第一次迭代)

如果我跑

echo off && for /L %i in (1,1,3) do cd
  • 我得到以下输出:

    C:\
    C:\
    C:\
    

    这很好,但是用户必须键入echo on才能返回命令提示符(这不行)。

在执行for ... do的最后一个命令之前,我不想得到提示。但在那之后,我想恢复命令提示符。

如何获得以下输出(空行无关),最后返回命令提示符?

C:\

C:\

C:\

我想要一个适用于 cmd (不使用PowerShell)的解决方案,而不是批量文件。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我只需要为for命令使用一些括号,这样echo on只会在循环后执行:

echo off && (for /L %i in (1,1,3) do cd) && echo on

输出:

C:\
C:\
C:\