Читайте также:
|
|
Символ “%” можно использовать в командах внутри пакетного файла, но при этом необходимо повторить его дважды. Например, имя файла f%.exe должно выглядеть как f%%.exe.
При использовании второго способа (глобальных переменных) перед запуском пакетного файла с помощью команды SET необходимо создать глобальные переменные (это будут пользовательские системные переменные) и присвоить им заданные значения. Имена этих переменных при использовании в командах пакетного файла заключаются в символы “%” (например, %FILE%).
При использовании параметров можно анализировать значение передаваемого в пакетный файл параметра, выделяя определенные его части, например, можно выделить только расширение файла-параметра или только имя. Для параметра с номером n (%n) допустимы синтаксические конструкции, представлены в таблице
Дополнительные возможности для замещаемых параметров | |
Обозначение | Описание |
%~Fn | Переменная %n расширяется до полного имени файла |
%~Dn | Из переменной %n выделяется только имя диска |
%~Pn | Из переменной %n выделяется только путь к файлу |
%~Nn | Из переменной %n выделяется только имя файла |
%~Xn | Из переменной %n выделяется расширение имени файла |
%~Sn | Значение операторов N и X для переменной %n изменяется так, что они работают с кратким именем файла |
%~$PATH:n | Проводится поиск по каталогам, заданным в переменной среды PATH, и переменная %n заменяется на полное имя первого найденного файла. Если переменная PATH не определена или в результате поиска не найден ни один файл, эта конструкция заменяется на пустую строку. Естественно, здесь переменную PATH можно заменить на любое другое допустимое значение |
Данные синтаксические конструкции можно объединять друг с другом, например:
%~DPn — из переменной %n выделяется имя диска и путь,
%~NXn — из переменной %n выделяется имя файла и расширение.
Например, пусть запускаемый пакетный файл находится в каталоге C:\TEXT и запускается с параметром Story.doc (%1=Story.doc). Тогда применение параметров замещения, описанных выше к параметру %1 даст следующие результаты:
Передача данных в командный файл через системные переменные. В этом случае возможен ввод значения при исполнении пакетного файла с помощью команды SET с ключом /P:
SET /P <имя системной переменной> = [строка приглашения]
Необязательный параметр Строка приглашения – заключенный в кавычки текст. Имена системных переменных при обращении к ним должны заключаться в знаки %.
Пример:
@echo off
Cls
Set /P name= “Input your name:”
Echo Hello, %name%
При выполнении этого пакетного файла на экран будет выведено сообщение Input your name:. Если в ответ ввести Piter, то это будет значением переменной name. Таким образом, результатом работы приведенного пакетного файла будет:
Input your name: Piter
Дата добавления: 2015-08-27; просмотров: 46 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Передача данных в командный файл | | | Во-вторых, из переменной среды можно выделять подстроки с помощью конструкции |