Cmd.exe - что означают эти символы в команде ftype?

511
user1330287

Просто пытаюсь что-то понять здесь .. При игре с расширениями файлов, введите assoc .bat и получите .bat = batfile, затем ftype batfile и получите "% 1"% *. То же самое происходит с ".exe". Принимая во внимание, что когда я запускаю ftype для word.document.12, я получаю путь для WINWORD.EXE.

Мой вопрос: что означают символы "% 1"% *, когда я запускаю ftype batfile? Спасибо!

1

1 ответ на вопрос

3
Bob

Они описаны в справке, доступ к которой осуществляется через ftype /?.

По сути, %1ссылается на имя файла, в то время как %*получает каждый аргумент, переданный в файл, который был выполнен. Они в том же формате, что cmd.exeи собственная обработка параметров, как и в пакетных файлах .

Текст взят из ftype /?:

................................................. Within an open command string %0 or %1 are substituted with the file name being launched through the assocation. %* gets all the parameters and %2 gets the 1st parameter, %3 the second, etc. %~n gets all the remaining parameters starting with the nth parameter, where n may be between 2 and 9, inclusive. For example:  ASSOC .pl=PerlScript FTYPE PerlScript=perl.exe %1 %*  would allow you to invoke a Perl script as follows:  script.pl 1 2 3