This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Windows - Пишем в cmd, bat

Не работает? Начинай читать инструкцию.

Пакетные параметры командной строки и их использование в командной оболочке

Пакетные параметры командной строки используются в пакетном bat файле для получения информации о настройках среды.

Программа cmd.exe разворачивает переменные с %0 по %9. При использовании пакетных параметров переменная %0 заменяется на имя пакетного файла, а переменные с %1 по %9 - на соответствующие аргументы, напечатанные в командной строке.

Предлагаю ознакомиться с предложениями моих партнёров

Для доступа к переменным больше %9 надо запустить команду shift. Параметр %* ссылается на все аргументы, которые передаются пакетному файлу, за исключением параметра %0.

Допустим, для копирования содержимого из папки Folder1 в папку Folder2, где параметр %1 заменяется на значение Folder1, а параметр %2 заменяется на значение Folder2, в пакетном файле с именем Myfile.bat введите следующую строку:

xcopy %1\*.* %2

Для запуска файла введите:

Myfile.bat C:\folder1 D:\folder2

Одинаково, как и при записи в пакетный файл строки:

xcopy C:\folder1 \*.* D:\folder2

С пакетными параметрами можно использовать модификаторы. Модификаторы используют информацию о текущем диске и каталоге как часть или полное имя файла или каталога. Для использования модификатора напечатайте символ (%), затем символ тильды (~), а потом соответствующий модификатор (%~модификатор).

Описание модификторов, используемые для расширения.

Модификатор

Описание

%~1

расширение %1 и удаление любых кавычек ("")

%~f1

замена %1 полным путем

%~d1

замена %1 именем диска

%~p1

замена %1 путем

%~n1

замена %1 именем файла

%~x1

замена %1 расширением имени файла

%~s1

замена путем, содержащим только короткие имена

%~a1

Замена %1 атрибутами файла

%~t1

замена %1 датой и временем модификации файла

%~z1

замена %1 размером файла

%~$PATH:1

поиск в каталогах, перечисленных в переменной среды PATH, замена %1 полным именем первого найденного файла. Если переменная среды не определена или поиск не обнаружил файлов, модификатор выдает пустую строку.

Возможные комбинации модификаторов и квалификаторов для получения более сложных результатов.

Модификатор

Описание

%~dp1

замена %1 именем диска и путем

%~nx1

замена %1 именем файла и расширением

%~dp$PATH:1

поиск в каталогах, перечисленных в переменной среды PATH, и замена %1 именем диска и путем к первому найденному файлу.

%~ftza1

замена %1 строкой, аналогичной результату работы программы dir

  • %1 и PATH в показанных выше примерах можно заменить на другие значения пакетных параметров.

Модификатор %* является уникальным, потому что он представляет все аргументы, переданные пакетному файлу. Этот модификатор не используется в комбинации с модификатором %~. Конструкция %~ должна завершаться допустимым номером аргумента.

Нельзя манипулировать пакетными параметрами подобно переменным среды. Нельзя искать и заменять значения, а так же контролировать подстроки. Переменной среды можно назначить параметр, а потом уже ей манипулировать.

Предлагаю ознакомиться с предложениями моих партнёров