Составители:
17
ren %1 %~N1_old%~X1
переименует файл, имя которого передается в качестве параметра, дописав к име-
ни файла _old: file.dat переименуется в file_old.dat.
Взаимодействие пользователя с командных файлов
Для взаимодействия пользователя с командным файлом предусмотрен го-
раздо меньший выбор средств по сравнению с традиционными алгоритмически-
ми языками.
Для того чтобы вручную прервать выполнение запущенного командно-
го файла, необходимо нажать клавиши <Ctrl>+<C> или <Ctrl>+<Break>. Если
надо лишь приостановить работу командного файла до момента нажатия клавиши
на клавиатуре, можно воспользоваться командой pause. Хорошим стилем счита-
ется выдача предупреждения пользователя о потенциально опасных для данных
командах и приостановкой выполнения. Тогда у пользователя будет возможность
продолжить выполнения командного скрипта при нажатии клавиши или его за-
вершения по <Ctrl>+<C> / <Ctrl>+<Break>:
ECHO Сейчас будут удалены все файлы в d:\work
ECHO Для отмены нажмите Ctrl-C
PAUSE
DEL d:\work\*.*
Для того, чтобы пользователь мог задать значение переменной с клавиату-
ры используется команда set с ключом /p:
SET /P имя переменной = текст
Пользователю будет выведен текст-приглашение и командный файл пе-
рейдет в режим ожидания ввода с клавиатуры. Введенная строка заносится в пе-
ременную среды.
set /p Folder=Введите имя папки
Еще одну интересную возможность – делать выбор одного из альтернатив-
ных вариантов, предоставляет команда choice.
Команды передачи управления
Последовательное выполнение команд в командном файле можно прервать
несколькими способами. Во-первых, можно использовать команду перехода
goto метка
Эта, табуированная в языках высокого уровня, команда в условиях слабо
структурируемых командных файлов используется довольно часто. Метка, на ко-
торую осуществляется переход по этой команде, оформляется следующим обра-
зом:
:метка
Очевидно, что безусловный переход должен быть обусловлен командой if,
иначе не выполнятся команды, помещенные между командой перехода и меткой в
случае перехода вперед или произойдет зацикливание при переходе назад. В ка-
честве метки перехода можно указывать строку :eof, которая передает управление
в конец текущего пакетного файла:
ren %1 %~N1_old%~X1 переименует файл, имя которого передается в качестве параметра, дописав к име- ни файла _old: file.dat переименуется в file_old.dat. Взаимодействие пользователя с командных файлов Для взаимодействия пользователя с командным файлом предусмотрен го- раздо меньший выбор средств по сравнению с традиционными алгоритмически- ми языками. Для того чтобы вручную прервать выполнение запущенного командно- го файла, необходимо нажать клавиши+ или + . Если надо лишь приостановить работу командного файла до момента нажатия клавиши на клавиатуре, можно воспользоваться командой pause. Хорошим стилем счита- ется выдача предупреждения пользователя о потенциально опасных для данных командах и приостановкой выполнения. Тогда у пользователя будет возможность продолжить выполнения командного скрипта при нажатии клавиши или его за- вершения по + / + : ECHO Сейчас будут удалены все файлы в d:\work ECHO Для отмены нажмите Ctrl-C PAUSE DEL d:\work\*.* Для того, чтобы пользователь мог задать значение переменной с клавиату- ры используется команда set с ключом /p: SET /P имя переменной = текст Пользователю будет выведен текст-приглашение и командный файл пе- рейдет в режим ожидания ввода с клавиатуры. Введенная строка заносится в пе- ременную среды. set /p Folder=Введите имя папки Еще одну интересную возможность – делать выбор одного из альтернатив- ных вариантов, предоставляет команда choice. Команды передачи управления Последовательное выполнение команд в командном файле можно прервать несколькими способами. Во-первых, можно использовать команду перехода goto метка Эта, табуированная в языках высокого уровня, команда в условиях слабо структурируемых командных файлов используется довольно часто. Метка, на ко- торую осуществляется переход по этой команде, оформляется следующим обра- зом: :метка Очевидно, что безусловный переход должен быть обусловлен командой if, иначе не выполнятся команды, помещенные между командой перехода и меткой в случае перехода вперед или произойдет зацикливание при переходе назад. В ка- честве метки перехода можно указывать строку :eof, которая передает управление в конец текущего пакетного файла: 17
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »