Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


возможно тема безнадежно устарела, но я все равно напишу свое предложение по этой проблеме.
Идея состоит в том чтобы в вашем примере заменить тело цыкла do (...) на вызов процедуры.
в этом варианте все красиво работает. переменная не выводит постоянно последнее значение наружного цыкла:

мой пример несколько отличается, но смысл тот же:
здесь поднимается файл, в котором перечислены полные пути типа d:\folder1\folder2\folder3.....
пример перебирает строки из этого файла и передает их параметром на обработку в некую процедуру (в этом случае вынимаются слэши из строки).

Код: Выделить весь код
@echo off
set wd=.\
set bd=.\backups

for /F %%a in (backuper.cnf) do CALL :getFolder %%a

goto :EOF

:getFolder
echo BackupTaskabout: %1
FOR /F "eol=; tokens=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 delims=\" %%i in ("%1") do set s=%%i %%j %%k %%l %%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w
echo    folder %s%
goto :EOF

Отправлено: 17:52, 03-06-2011 | #6