Головна |
Тоді% 0 = my.bat,% 1 = p1,% 2 = p2,% 3 = p3, параметри% 4 -% 9 є порожніми рядками. Після виконання команди SHIFT значення заміщаються параметрів зміняться наступним чином:% 0 = p1,% 1 = p2,% 2 = p3, параметри% 3 -% 9 - порожні рядки.
При включенні розширеної обробки команд SHIFT підтримує ключ / n, що задає початок зсуву параметрів з номера n, де n може бути числом від 0 до 9.
Наприклад, в наступній команді:
SHIFT / 2
параметр% 2 замінюється на% 3,% 3 на% 4 і т.д., а параметри% 0 і% 1 залишаються без змін.
Команда, зворотна SHIFT (зворотний зсув), відсутня. Після виконання SHIFT вже не можна відновити параметр (% 0), який був першим перед зрушенням. Якщо в командному рядку задано більше десяти параметрів, то команду SHIFT можна використовувати кілька разів.
У командних файлах є деякі можливості синтаксичного аналізу замінних параметрів. Для параметра з номером n (% n) допустимі синтаксичні конструкції (оператори), представлені в табл. 2.
Таблиця 2. Оператори для замінних параметрів
Оператори | опис |
% ~ 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 і запускаємо пакетний файл з параметром Рассказ.doc (% 1 = Рассказ.doc). Тоді застосування операторів, описаних в табл. 2, до параметру% 1 дасть наступні результати:
% ~ F1 = C: \ TEXT \ Рассказ.doc
% ~ D1 = C:
% ~ P1 = \ TEXT \
% ~ N1 = Розповідь
% ~ X1 = .doc
% ~ DP1 = C: \ TEXT \
% ~ NX1 = Рассказ.doc
ECHO OFF | Перетворення змінних як рядків
Командний інтерпретатор Windows. | Запуск оболонки cmd.exe | зауваження | MORE news.txt | Умовне виконання і угруповання команд | Шляхи до об'єктів файлової системи | команда COPY | команда XCOPY | Папок 143 257 600 байт вільно | призначення |