Windows:for循环后的命令

时间:2014-04-23 08:49:28

标签: loops for-loop echo

对不起,

我似乎无法回答我的简单问题。

我找到了大量for循环的例子,但后来没有一个报告循环后执行的命令。

在我的情况下,我想删除回声功能,然后在foor循环终止时重新启用它。

@echo off & for /F "tokens=*" %A in (linuxserver.txt) do ( echo %A )

如果我在命令@echo之前放了一个&符号,它被解释为内部命令集的一部分,如果我不放任何东西或只是一个分号,那么我得到" @回声在这个时候出人意料。"

@echo off&for /F "tokens=*" %A in (linuxserver.txt) do ( echo %A ) @echo on

我认为括号会划分循环的内部命令。

我怎样才能做到这一点?

谢谢,Alex

1 个答案:

答案 0 :(得分:0)

循环命令语法是:

FOR /F ["options"] %%parameter IN ('command_to_process') DO command

FOR /F ["options"] %parameter IN ('command_to_process') DO command

选项"令牌= *"将导致每行上的所有项目都被处理 对于参数,在批处理文件中使用%% A(在命令行%A上)

如果linuxserver.txt包含以下条目:

aaa
bbb
ccc

然后输出你的命令

command: for /F "tokens=*" %A in ('type linuxserver.txt') do ( echo %A )

输出:

(echo tokens=aaa  )
tokens=aaa
(echo tokens=bbb  )
tokens=bbb
(echo ccc  )
ccc

使用echo off然后返回on应该(如果使用批处理文件):

@echo off
for /F "tokens=*" %%A in ('type linuxserver.txt') do ( echo %%A )
@echo on

以单行命令, 你最多可以使用以下内容:

@echo off & for /F "tokens=*" %A in ('type linuxserver.txt') do (echo %A)

作为一个单独的一行:

echo on