Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример 8



ECHO Имена переменных среды:

FOR /F "DELIMS==" %%i IN ('SET') DO ECHO %%i

выведет перечень имен всех переменных среды, определенных в настоящее время в системе.

В цикле FOR допускается применение тех же синтаксических конструкций (операторов), что и для заменяемых параметров - таблица 1. Использование функции ~z показано в примере 9.

Пример 9. Вычисление суммарной длины всех файлов в заданном подкаталоге

SETLOCAL ENABLEDELAYEDEXPANSION

Set /a Size = 0

For %%I in (%1\*.*) do set /a Size= Size + %%~zI

Echo %Size%

Циклы и связывание времени выполнения для переменных

При обработке переменных среды внутри цикла могут возникать ошибки, связанные с ранним связыванием переменных.

Пример 10. Пусть имеется КФ, включающий команды:

SET a=

FOR %%i IN (Раз, Два, Три) DO SET a=%a%%%i

ECHO a=%a%

В результате его выполнения на экран будет выведена строка "a=Три".

Для исправления ситуации нужно, как и в случае с составными выражениями, вместо знаков процента (%) использовать восклицательные знаки и предварительно включить режим связывания времени выполнения командой SETLOCAL ENABLEDELAYEDEXPANSION. Таким образом, приведенный выше пример следует переписать следующим образом:

SETLOCAL ENABLEDELAYEDEXPANSION

SET a=

FOR %%i IN (One,Two,Three) DO SET a=!a!%%i

ECHO a=%a%





Дата публикования: 2014-12-11; Прочитано: 266 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...