![]() |
Несколько вопросов
Здравствуйте, помогите пожалуйста в этих вопросах:
1) Часто вижу у некоторых в коде такое начало "setlocal enableextensions" и\или "enabledelayedexpansion", для чего они? 2) Как в модуле ftp изменять локальную директорию с помощью системным переменных, к примеру: lcd %systemroot%. 3) Опять таки, как в модуле ftp изменять локальную директорию, если в пути имеются русские буквы, к примеру: lcd C:\Documents and Settings\admin\Рабочий стол\. 4) Есть ли команда, которая возвращала имя файла из которого они запущена? (за исключением %~n0). Пока всё) По мере появления, буду задавать здесь. |
Цитата:
Код:
setlocal /? Как Вы видите, после команды «setlocal» переменная окружения «sValue» сохраняет своё значение. Но если ей попытаться присвоить новое значение — появляется новая переменная окружения с тем же именем «sValue», доступная только внутри контекста «setlocal»/«endlocal», а доступ к старой переменной окружения «sValue» теряется. После использования команды «endlocal» новая переменная окружения «sValue» теряется вместе с контекстом, а доступ к старой переменной окружения «sValue» восстанавливается. Чаще же всего «setlocal» применяется для использования с параметром «ENABLEDELAYEDEXPANSION» (параметр «ENABLEEXTENSIONS» включён по умолчанию; умолчания можно изменить путём правки реестра или указания параметров при вызове командного процесора), позволяющем использовать отложенное раскрытие переменных. Подробное описание с примером есть в: Код:
set /? Setlocal - Local variables EnableDelayedExpansion Batch files - The SET command: Windows NT 4..Windows 7 Syntax Batch Files - Variable Expansion in FOR Loops Цитата:
Цитата:
Цитата:
|
Время: 21:40. |
Время: 21:40.
© OSzone.net 2001-