Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 894
Благодарности: 137

Профиль | Отправить PM | Цитировать


Mchik
значит тебе прийдется вырости из юзера в проффесионала, чтобы понимать что скрывается за красивостями, и где брать инфу о нужных командах

Теперь о главном.
mk:@MSITStore:E:\WINNT\Help\ntcmds.chm::/percent.htm
Цитата:
% (Замещаемый параметр)
Замещаемые параметры %0 и от %1 до %9 могут быть помещены в любом месте пакетного файла. При запуске пакетного файла %0 замещается именем пакетного файла, а переменные аргументов с %1 по %9 замещаются соответствующими параметрами, введенными в командной строке.

Например, чтобы скопировать содержимое одной папки в другую, в пакетный файл должна быть добавлена следующая инструкция:

xcopy %1\*.* %2

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

mybatch.bat C:\afolder D:\bfolder.

Результат будет таким же, как и при записи в пакетный файл строки xcopy C:\afolder \*.* D:\bfolder.

Параметр % разворачивает аргументы пакетной программы (%0, %1, ..., %9) как описано ниже:

%* в пакетной программе ссылается на все аргументы. Для отдельных переменных дополнительные возможности описаны в следующих таблицах.

Переменная Описание
%~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 могут быть заменены другими допустимыми значениями. Конструкция %~ должна завершаться допустимым номером аргумента. Модификаторы %~ не могут быть использованы вместе с %*.
из другой части доступных мне знаний, если я правильно путаю, ) то %0 всегда ссылается на имя программы которую запустили, вместе с полным путем к нему.
отсюда, согласно выше преведенной таблице %~d0 заменяется именем диска из пути где был запущен командный файл.
Проверяем. Создаем командный файл и запускаем его
@Echo off
Echo Full Path= %~0
Echo Disk Letter= %~d0
pause

Вывод. Если хотим получить букву РЕАЛЬНОГО CD-ROM, эту команду нужно выполнять из файла расположеного на CD. Если мы запустим эту конструкцию с любого другого места, то будем удивлены результатами.

также посмотри на команду Set /?

-------
Я не развожу политику в подписи
ПТН ПНХ

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:22, 03-03-2005 | #2