2013-09-18 4 views
0

ALl,Форматирование кода Пакетный файл нарушает сценарий?

Мне нравятся мои отступы и новые строки, чтобы сделать мой код доступным, но по какой-то причине он разбивает мой пакетный скрипт.

Это работает, например:

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

Однако если попытаться переместить действие часть петли на новую строку, команда терминала открывается и закрывается.

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

Я новичок в пакетный сценарий так от того, что я могу сказать здесь, кажется, что он чувствителен к пробельному/EOL

Как я могу отформатировать этот код, не нарушая его?

ответ

3

Это происходит потому, что for - это команда, и она заканчивается там, где заканчивается линия. Один из вариантов заключается в том, чтобы добавить ^, где вы хотите разделить эту команду, чтобы интерпретатор знал, что перед выполнением команды прошивает текущую строку с помощью следующей ниже.

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

Большое спасибо за это, так EOL имеет значение только для команд на этой строке , – kaleeway

+0

Как насчет форматирования внутри фигурных скобок do, если я хочу выполнить несколько команд внутри этого? – kaleeway

+0

Блок (с круглыми скобками) может охватывать несколько строк. Вам нужно только разместить открывающую скобку в той же строке 'do' – jeb

3

Для форматирования можно использовать блоки кода, но важно, что блок начинается на той же линии, как в do

for /r %%x in (*.txt) do (
    echo %%x 
    echo --- 
) 
Смежные вопросы