Командные файлы операционной системы MS Windows. Лясин Д.Н - 17 стр.

UptoLike

Составители: 

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