|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Почему использование goto в for приводит к 1разовому выполнению цикла? |
|
|
CMD/BAT - Почему использование goto в for приводит к 1разовому выполнению цикла?
|
Старожил Сообщения: 151 |
Профиль | Отправить PM | Цитировать Всем привет!
Вот До: После: @ECHO OFF FOR /F "tokens=*" %%A IN ('dir /s /b /a-d "%CD%\"') DO ( echo "%%A" goto test1 :test1 echo Выведет первый файл и цикл завершится ) PAUSE Как решить эту проблему? |
|
Отправлено: 01:21, 05-08-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата nfs911:
|
|
Отправлено: 01:49, 05-08-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать Iska,
@ECHO OFF FOR /F "tokens=*" %%A IN ('dir /s /b /a-d "%CD%\"') DO ( echo "%%A" goto test1 :next pause ) :next2 echo обходим :test1 после завершения цикла goto exit :test1 echo Выведет первый файл и цикл завершится goto next rem возвращаемся обратно в цикл для перечисления оставшихся файлов :exit PAUSE |
Последний раз редактировалось nfs911, 05-08-2013 в 09:30. Отправлено: 09:21, 05-08-2013 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать nfs911, Вы не ответили на вопрос — зачем? Приведите реальное ТЗ.
Я не припомню ни единого случая, чтобы мне хоть раз приходилось пользовать «goto :label» на «:label» внутри цикла разбора. Как правило, всё решается условными операторами и процедурами. |
Отправлено: 09:29, 05-08-2013 | #4 |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать какая альтернатива goto?если нужно if not строка1==строка2 goto cod1
goto else (пишу коротка потомучто я с телефона) |
|
Отправлено: 10:41, 05-08-2013 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата nfs911:
FOR /F "tokens=*" %%A IN ('dir /s /b /a-d "%CD%\"') DO ( echo "%%A" goto test1 :test1 echo Выведет первый файл и цикл завершится ) PAUSE echo "file1" goto test1 echo Выведет первый файл и цикл завершится echo "file2" goto test1 echo Выведет первый файл и цикл завершится echo "file3" goto test1 echo Выведет первый файл и цикл завершится echo "fileN" goto test1 echo Выведет первый файл и цикл завершится :test1 echo Выведет первый файл и цикл завершится ) PAUSE Цитата nfs911:
|
||
Отправлено: 10:45, 05-08-2013 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать amel27, рад видеть Вас в добром здравии!
Мне такая трактовка, увы, не приходила в голову . Цитата nfs911:
|
|
Отправлено: 11:00, 05-08-2013 | #7 |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать Iska, на c++ похоже.прийду домой,попробую.amel27, ваш вариант тоже интересный.Благодарю
|
Отправлено: 11:18, 05-08-2013 | #8 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать amel27, в качестве ликбеза, почему echo/ ? Есть ли разница между echo/ и echo. ?
|
Отправлено: 11:52, 05-08-2013 | #9 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать sov44, символ "." используется в именах файлов - со всеми вытекающими последствиями
в качестве эксперимента: copy/y %windir%\notepad.exe .\echo. >nul echo. PAUSE copy/y %windir%\notepad.exe .\echo.123 >nul echo.123 Цитата nfs911:
|
|
Отправлено: 12:15, 05-08-2013 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Почему из цикла не выходит? | mataranga | Скриптовые языки администрирования Windows | 1 | 18-12-2012 17:14 | |
Как заменить Goto | Raf_z | AutoIt | 1 | 25-10-2012 23:51 | |
Аналог goto | Frost_Imp | AutoIt | 8 | 24-07-2009 17:14 | |
CMD/BAT - [решено] Использование If в теле цикла For | ven00m | Скриптовые языки администрирования Windows | 3 | 11-01-2008 17:09 | |
Использование opendir в PHP приводит к ошибке | Igor_I | Вебмастеру | 7 | 29-01-2006 14:14 |
|