代码格式化批处理文件会打破脚本?

时间:2013-09-18 10:13:43

标签: windows batch-file cmd

所有

我喜欢我的缩进和新行,以使我的代码可读但是由于某种原因它破坏了我的批处理脚本。

这适用于例如:

cd %inbox%
for /r %%x in (*.txt) do echo "%%x"

但是,如果我尝试将循环的动作部分移动到新行,则命令终端会打开和关闭。

cd %inbox%
for /r %%x in (*.txt) 
do echo "%%x"

我是批处理脚本的新手,所以我从这里可以看出它似乎对whitespace / EOL很敏感

如何在不破坏代码的情况下格式化此代码?

2 个答案:

答案 0 :(得分:3)

发生这种情况是因为for是一个命令,它在行结束的地方结束。一种选择是在你想要拆分命令的位置添加一个^,以便解释器知道在执行命令之前将当前行与下面的线缝合在一起。

cd %inbox%
for /r %%x in (*.txt) ^
do echo "%%x"

答案 1 :(得分:3)

对于格式化,您可以使用代码块,但重要的是该块在do

之类的同一行开始
for /r %%x in (*.txt) do (
  echo %%x
  echo ---
)