2015-04-28 3 views
2

У меня есть циклпобег | в пакетном режиме для цикла

for /f "usebackq" %%u in(...) do SET heel=!heel! ^^^| ooo 

, если им добавление переменной, что путь им получить ошибку

ooo is not recognized as an internal or external command

Как я могу избежать | обугливается? Если им не добавляя, что переменные им не получает эту ошибку

+2

Вы правильно экранируете '|' в заявлении, которое вы указали (если включено замедленное расширение). Проблема должна быть где-то в другом месте. – dbenham

+0

Небольшая коррекция, вам нужно только '^ |'. Дополнительный '^^' не нужен, но и он не наносит никакого вреда. 'set heel =! heel!^| ooo' и 'set heel =! heel! ^^^ | ooo' дают тот же результат. – dbenham

ответ

2

попробовать так:

for /f "usebackq" %%u in(...) do SET "heel=!heel! | ooo" 

, хотя, если вы наберете

echo %heel% 

вы получите ту же ошибку снова (но вы можете используйте echo "%heel%" или если вы все еще находитесь под задержкой расширения echo !heel!).

+0

Все еще im получаю ту же ошибку – Dainius

+2

@Dainius - вы уверены, что получаете ошибку на этом этапе, но не где-то позже в скрипте? Проверьте, где используется переменная 'heel'. – npocmaka

Смежные вопросы