Как работает «FOR» в командном файле cmd? - PullRequest
23 голосов
/ 03 мая 2009

Я программирую на десятках языков в течение 20 лет, но я никогда не мог понять, как «ЗА» работать в командном файле оболочки Windows cmd, как бы я ни старался. Я читаю

http://www.amazon.com/Windows-Administration-Command-Line-Vista/dp/0470046163/ref=sr_1_1?ie=UTF8&s=books&qid=1241362727&sr=8-1

http://www.ss64.com/nt/for.html

и несколько других статей в Интернете, но все еще смущают и ничего не могут сделать.

Кто-нибудь может дать мне краткое объяснение того, как "ЗА" работает в целом?

По чуть более конкретному вопросу, как я могу перебрать каждый путь в переменной% PATH%? Я пробовал с

rem showpathenv.bat
for /f "delims=;" %%g in ("%PATH%") do echo %%g

Это показало бы только первый путь, а не все. Зачем ? Что я делаю не так?

Ответы [ 12 ]

0 голосов
/ 06 апреля 2017

У меня это работает, попробуйте.

для / f "tokens = * delims =;" % g in ('echo% PATH%') делает эхо% g%

0 голосов
/ 11 сентября 2015

У меня это работает, попробуйте.

for /f "delims=;" %g in ('echo %PATH%') do echo %g%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...