Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2020-08-20 | 118 |
5.00
из
|
Заказать работу |
|
|
rem исходного каталога (%1) в другой каталог (%2)
xcopy %1 %2 /s /e
If errorlevel 4 echo Недостаточно памяти, задан недопустимый диск или ошибка в синтаксисе
if errorlevel 2 echo Нажата комбинация CTRL+C для остановки копирования
If errorlevel 0 echo Копирование прошло успешно
Использование меток
Метки обозначаются идентификатором с двоеточием прямо перед ним.
Для перехода по меткам используется команда goto.
Существует специальный вариант команды "goto:eof" для перехода на конец исполняемого сценария.
Есть также особый вариант команды call для повторного вызова текущего скрипта с заданной метки с определенными параметрами.
Пример:
@rem Такой вот тест:)
if %cd%\==%~dp0 goto next
@echo Внимание: текущий каталог не совпадает с путем к данному скрипту
:next
if not exist $result$.txt (@echo $result$.txt не найден) else call:modified $result$.txt
Goto:eof
:modified
@echo %1 был модифицирован %~t1
if /i ".txt" EQU "%~x1" @echo %1 является текстовым файлом
Goto:eof
Запуск команд
Запускать новые процессы из командной строки можно двумя способами.
Инструкция " cmd команда" запускает системный пакетный обработчик cmd.exe для выполнения команды команда.
Если вызов происходит из консоли, то используется имеющаяся, если нет — создается новая.
Ключи /c и /k указывают, что по завершении исполнения консоль нужно закрыть или оставить, соответственно.
Инструкция " start команда" запускает обработку команды команда в отдельном параллельном процессе.
Соответствующие ключи позволяют изменять приоритет запускаемого процесса.
Ключ /wait указывает, что запустившему процессу следует дождаться завершения запущенного.
Запускать новые командные сценарии из командных сценариев можно также двумя способами.
Первый:
|
@echo Эта строка выполнится перед запуском
call some_script.cmd some params
@echo Эта строка выполнится после завершения some_script.cmd
Второй:
@echo Эта строка выполнится перед запуском
some_script.cmd some params
@echo Эта строка никогда не выполнится, т.к. управление из some_script.cmd в вызвавший скрипт не вернется.
Код возврата команд
После выполнения любой потенциально сбойной команды код возврата, свидетельствующий о степени успешности ее завершения, сохраняется в специальной псевдопеременной %errorlevel%. Нулевое значение значит, что команда была выполнена успешно, положительные значения свидетельствуют об ошибке, чем больше значение, тем серьезнее проблема.
Значение кода возврата можно проверить с помощью специальной конструкции if [not] errorlevel число (см. if /?).
Также, переменную %errorlevel% можно свободно использовать непосредственно.
Например, "goto answer%errorlevel%" или "echo %errorlevel%".
Команда exit число прерывает исполнение текущего сценария с возвратом запустившему его процессу заданного кода выхода. По умолчанию производится прерывание сразу всей цепочки вызовов пакетных сценариев. Если необходимо завершить только текущий сценарий и возвратить управление в сценарий, вызвавший его командой call, то нужно использовать ключ /b команды exit. Для выхода из сценария с передачей вызвавшему процессу текущего значения %errorlevel% необходимо использовать команду goto:eof.
Некоторые команды всегда устанавливают переменную %errorlevel%, некоторые модифицируют ее только при возникновении ошибок, а некоторые вообще ее никогда не меняют.
Вот пример:
Md testdir
@echo %errorlevel%=0, успешно
Rd testdir
@echo %errorlevel%=0, успешно
Тест
@echo %errorlevel%=9009, недопустимая команда
Md testdir
@echo %errorlevel%=0, успешно
Md testdir
@echo %errorlevel%=1, каталог уже существует
Rd testdir
@echo %errorlevel%=1, успешно, но сохранился код предыдущей ошибки
set errorlevel=0
@echo %errorlevel%=0, после явного сброса
Rd con
@echo %errorlevel%=1, недопустимое имя, но оказывается, что rd errorlevel вообще никогда не меняет
|
@goto:eof
Копирование
Команда copy умеет копировать и склеивать файлы.
Команда xcopy умеет копировать файлы и каталоги.
Команда ren (rename) умеет переименовывать файлы и каталоги.
Проверить, удачно ли выполнилась команда можно по коду возврата %errorlevel%.
|
|
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!