Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: что значит "%~dp0phpunit.phar" %*

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
p33t
Отправлено: 19 Сентября, 2016 - 20:20:43
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Уважаемые специалисты, начиная тему PHPUnit, при установке, столкнулся с такой странной конструкцией: echo @php "%~dp0phpunit.phar" %* > phpunit.cmd.

Чтоб не вырывать из контекста, вот весь код:

C:\Users\username> cd C:\bin
C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
C:\bin> exit

Эта абракадабра запускается в командной строке.

Первую и третюю строку я понимаю, а вот вторую Не понял

Знаю что она создает "phpunit.cmd" в текущей директории.

Подскажите что это за констркуция, как оно называется и где накопать о ней больше инфы ???

Заранее спасибо. Радость
 
 Top
Sail
Отправлено: 20 Сентября, 2016 - 09:25:30
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




p33t, в данном случае %~dp0 раскрывается в имя диска и пусть до cmd-файла.
Подробнее можно посмотреть, например в выводе команды help for (из командной строки windows).
 
 Top
p33t
Отправлено: 20 Сентября, 2016 - 16:19:11
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Понял.
Спасибо вам большое за ответ. Радость

Но, сама конструкция создает файл phpunit.cmd в текущей директории.

Немного инфы нашел в помощи командной строки "call /?"
На сколько понял, тут, передаются вараметры вида %* в какую то програмку на php.
И вроде как phpunit.cmd это имя создаваемого файла на выходе функции...

Ну не прав ли я ??? Однако
 
 Top
Sail
Отправлено: 20 Сентября, 2016 - 16:24:59
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




cd C:\bin - меняет текущую директорию
echo @php "%~dp0phpunit.phar" %* > phpunit.cmd - результат отработки php-скрипта из файла phpunit.phar поместить в файл phpunit.cmd
exit - выход (завершение работы cmd-файла)

%* - все параметры командной строки, с которыми был вызван cmd-файл, код которого Вы привели.
 
 Top
p33t
Отправлено: 20 Сентября, 2016 - 23:55:46
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




А почиму скрипт передается в конструкцию echo ?

И что значит @ перед php ???
Растерялся
 
 Top
Sail
Отправлено: 21 Сентября, 2016 - 09:21:14
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




p33t пишет:
А почиму скрипт передается в конструкцию echo ?

И что значит @ перед php ???
Растерялся

Действительно, в файл phpunit.cmd помещается не результат отработки phar-файла, а командная строка вида: (в зависимости от исходного каталога)
@php "c:\C:\Users\username\phpunit.phar" %*
И это файл уже выполняет скрипт посредством интерпретатора PHP
Символ @ подавляет вывод на экран команд. Равносильно команде echo off. Ну, или @echo off, чтобы и сама эта команда не выводилась при выполнении bat-файла (cmd-файла).
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB