![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
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; Прочитано: 323 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!