Класс CommandTask
Базовый класс для рефлексии команд оболочки.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\Task\CommandTask
Унаследованные константы
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _appendShells() protectedСканирование указанных путей на наличие оболочек и добавление их в $shellList
- _findShells() protectedПоиск оболочек в $path и добавление их в $shellList
- _scanDir() protected
Сканирование директории на наличие файлов .php и возврат имён классов, которые должны быть в них.
- commands() publicВозвращает список всех команд
- getShell() publicПолучение экземпляра Shell для заданной команды
- getShellList() publicПолучение списка команд оболочки.
- options() publicПолучение списка опций для заданной команды или подкоманды
- subCommands() publicВозвращает список подкоманд для заданной команды
Подробное описание методов
_appendShells()source protected
_appendShells( string $type , array $shells , array $shellList , array $skip )
Сканирование указанных путей на наличие оболочек и добавление их в $shellList
Параметры
- строка
$type - Тип объекта.
- массив
$shells - Имя оболочки.
- массив
$shellList - Список оболочек.
- массив
$skip - Список имён команд, которые нужно пропустить.
Возвращает
массивОбновлённый $shellList
_findShells()source protected
_findShells( array $shellList , string $path , string $key , array $skip )
Поиск оболочек в $path и добавление их в $shellList
Параметры
- массив
$shellList - Массив списка оболочек.
- строка
$path - Путь для поиска.
- строка
$key - Ключ для добавления оболочек
- массив
$skip - Список команд для исключения.
Возвращает
массивОбновлённый список оболочек.
_scanDir()source protected
_scanDir( string $dir )
Сканирование директории на наличие файлов .php и возврат имён классов, которые должны быть в них.
Параметры
- строка
$dir - Директория для чтения.
Возвращает
массивСписок имён классов оболочек, основанный на соглашениях.
getShell()source public
getShell( string $commandName )
Получение экземпляра Shell для заданной команды
Параметры
- строка
$commandName - Команда, которую вы хотите.
Возвращает
Cake\Console\Shell|booleanЭкземпляр Shell, если команда найдена, в противном случае false.
options()source public
options( string $commandName , string $subCommandName = '' )
Получение списка опций для заданной команды или подкоманды
Параметры
- строка
$commandName - Команда для получения опций.
- строка
$subCommandNameoptional '' Подкоманда для получения опций. Может быть пустой, чтобы получить опции для команды. Если этот параметр используется, подкоманда должна быть действительной подкомандой переданной команды
Возвращает
массивСписок опций для заданной команды или подкоманды
subCommands()source public
subCommands( string $commandName )
Возвращает список подкоманд для заданной команды
Параметры
- строка
$commandName - Команда, для которой требуются подкоманды.
Возвращает
массив строкИсключения
ReflectionExceptionНаследуемые методы из Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io = null , Cake\ORM\Locator\LocatorInterface $locator = null )
Создаёт экземпляр Shell.
Параметры
-
Cake\Console\ConsoleIo$iooptional null - Экземпляр io.
-
Cake\ORM\Locator\LocatorInterface$locatoroptional null - Экземпляр локатора таблиц.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $name )
Перегрузка get для ленивого построения задач
Параметры
- строка
$name - Задача для получения.
Возвращает
Cake\Console\ShellОбъект задачи
_displayHelp()source protected
_displayHelp( string $command )
Отображение справки в правильном формате
Параметры
- строка
$command - Команда для получения справки.
Возвращает
целое число/booleanКоличество байтов, возвращённых при записи в стандартный вывод.
_setOutputLevel()source protected
_setOutputLevel( )
Установка уровня вывода на основе параметров.
Это перенастраивает уровень вывода для out() и настроенное логирование stdout/stderr
_stop()source protected
_stop( integer|string $status = self::CODE_SUCCESS )
Остановка выполнения текущего скрипта. Вызывает StopException, чтобы попытаться остановить выполнение.
Параметры
- целое число/строка
$statusoptional self::CODE_SUCCESS - см. https://secure.php.net/exit для значений
Исключения
Cake\Console\Exception\StopException_validateTasks()source protected
_validateTasks( )
Проверяет, что задачи в карте задач действительно доступны
Исключения
RuntimeExceptionabort()source public
abort( string $message , integer $exitCode = self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- строка
$message - Сообщение об ошибке
- целое число
$exitCodeнеобязательно self::CODE_ERROR - Код завершения задачи оболочки.
Исключения
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputclear()source public
clear( )
Очистить консоль
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFile()source public
createFile( string $path , string $contents )
Создает файл по заданному пути
Параметры
- строка
$path - Место расположения файла.
- строка
$contents - Содержание файла.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()source public
dispatchShell( )
Перенаправление команды в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
С строковой командой:
return $this->dispatchShell('schema create DbAcl'); Избегайте использования этой формы, если у вас есть строковые аргументы со пробелами в них. Запущенная оболочка будет вызвана некорректно. Используйте эту форму только для простого перенаправления команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry'); С массивом, содержащим две пары ключ/значение: - command может принимать строку или массив. Представляет команду для перенаправления - extra может принимать массив дополнительных параметров для передачи диспетчеру. Эти параметры будут доступны в свойстве param вызываемой Shell
return $this->dispatchShell([ 'command' => 'schema create DbAcl', 'extra' => ['param' => 'value'] ]);
или
return $this->dispatchShell([ 'command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value'] ]);
Возвращает
целое числоКод завершения команды CLI. 0 — успех.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shellerr()source public
err( string|array|null $message = null , integer $newlines = 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только символ новой строки.
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в stderr.
error()source public deprecated
error( string $title , string|null $message = null , integer $exitCode = self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Устарело
3.2.0 Используйте Shell::abort() вместо этого.Параметры
- строка
$title - Заголовок ошибки
- строка|null
$messageнеобязательно null - Необязательное сообщение об ошибке
- целое число
$exitCodeнеобязательно self::CODE_ERROR - Код завершения задачи оболочки.
Возвращает
целое числоКод ошибки
Исключения
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetIo()source public
getIo( )
Получить объект io для этой оболочки.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
getOptionParser()source public
getOptionParser( )
Получить экземпляр парсера опций и настроить его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвратом.
Возвращает
Cake\Console\ConsoleOptionParserСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#configuring-options-and-generating-helphasMethod()source public
hasMethod( string $name )
Проверить, есть ли у этой оболочки вызываемый метод с данным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
логическое значениеСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверить, есть ли у этой оболочки задача с указанным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
логическое значениеУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings = [] )
Отобразить помощник консоли
Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- строка
$name - Имя помощника для отображения
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines = 0 , integer $width = 63 )
Выводит серию символов минус в стандартный вывод, действует как визуальная разделительная черта.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество символов новой строки для добавления до и после
- целое число
$widthнеобязательно 63 - Ширина строки, по умолчанию 63
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrin()source public
in( string $prompt , string|array|null $options = null , string|null $default = null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив|null
$optionsнеобязательно null - Массив или строка опций.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
смешанный типЗначение по умолчанию или введённое пользователем.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininfo()source public
info( string|array|null $message = null , integer $newlines = 1 , integer $level = Cake\Shell\Task\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегом
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательный Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует оболочку, действует как конструктор для подклассов, позволяет настроить задачи до выполнения оболочки.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public deprecated
io( Cake\Console\ConsoleIo $io = null )
Получить/установить объект io для этой оболочки.
Устаревшее
3.5.0 Используйте getIo()/setIo() вместо этого.Параметры
-
Cake\Console\ConsoleIo$ioнеобязательный null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
логическое значениеnl()source public
nl( integer $multiplier = 1 )
Возвращает последовательность одной или нескольких новых строк.
Параметры
- целое число
$multiplierнеобязательный 1 - Количество повторений последовательности новой строки
Возвращает
строкаСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nlout()source public
out( string|array|null $message = null , integer $newlines = 1 , integer $level = Cake\Shell\Task\Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet , присутствующим в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательный Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparam()source public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращает
строка|логическое значение|nullЗначение. Возвратит null, если параметра не существует.
parseDispatchArguments()source public
parseDispatchArguments( array $args )
Парсит аргументы для метода dispatchShell().
Параметры
- массив
$args Аргументы полученные из метода dispatchShell() с помощью func_get_args()
Возвращает
массивПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи диспетчеру
quiet()source public
quiet( string|array $message , integer $newlines = 1 )
Вывод на всех уровнях.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращённых при записи в стандартный вывод.
runCommand()source public
runCommand( array $argv , boolean $autoMethod = false , array $extra = [] )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они обязательно должны быть представлены в виде подкоманд. Если вы определяете подкоманды, вы должны определить все необходимые подкоманды вашей оболочки, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
- логическое значение
$autoMethodнеобязательный false Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher, чтобы облегчить создание простых оболочек.
- массив
$extraнеобязательный [] Дополнительные параметры, которые вы можете вручную передать в оболочку для её обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения оболочки.
Возвращает
целое число|логическое значение|nullСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consolesetIo()source public
setIo( Cake\Console\ConsoleIo $io )
Установить объект io для этой оболочки.
Параметры
-
Cake\Console\ConsoleIo$io - Объект ConsoleIo для использования.
setRootName()source public
setRootName( string $name )
Установить корневое имя команды для вывода справки.
Параметры
- строка
$name - Имя корневой команды.
Возвращает
$this
shortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкакороткое имя пути
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Запускает оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного выполнения.
Переопределите этот метод, если хотите удалить приветственную информацию или иным образом изменить поток до команды.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupsuccess()source public
success( string|array|null $message = null , integer $newlines = 1 , integer $level = Cake\Shell\Task\Shell::NORMAL )
Удобный метод для out(), который обертывает сообщение тегом
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- integer
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых из записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()source public
verbose( string|array $message , integer $newlines = 1 )
Вывод на уровне подробности.
Параметры
- string|array
$message - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращённых из записи в стандартный вывод.
warn()source public
warn( string|array|null $message = null , integer $newlines = 1 )
Удобный метод для err(), который обертывает сообщение тегом
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращённых из записи в стандартный вывод ошибки.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapMessageWithType()source protected deprecated
wrapMessageWithType( string $messageType , string|array $message )
Обертывает сообщение с указанным типом сообщения, например
Устарело
3.6.0 Будет удалено в 4.0.0, так как больше не используется.Параметры
- string
$messageType - Тип сообщения, например "предупреждение".
- string|array
$message - Сообщение для обертывания.
Возвращает
array|stringСообщение, обернутое с указанным типом сообщения.
wrapText()source public
wrapText( string $text , integer|array $options = [] )
Обернуть блок текста. Позволяет задать ширину и отступы блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapТолько обрезать по словам (пробелам). По умолчанию true. -
indentОтступ текста с помощью предоставленной строки. По умолчанию null.
Параметры
- string
$text - Текст для форматирования.
- integer|array
$optionsнеобязательно [] - Массив опций для использования или целое число для обрезки текста.
Возвращает
stringОбрезанный/отступленный текст
См. также
\Cake\Utility\Text::wrap()Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получает локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Устанавливает локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий используемый локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединить одно свойство со значениями, объявленными во всех родительских классах.
Параметры
- string
$property - Имя объединяемого свойства.
- array
$parentClasses - Массив классов, с которыми вы хотите объединиться.
- array
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединить каждый из ключей в свойстве вместе.
Параметры
- array
$current - Текущее объединённое значение.
- array
$parent - Значение родительского класса.
- boolean
$isAssoc - Указывает, нужно ли объединение в ассоциативном режиме.
Возвращает
mixedОбновлённое значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options = [] )
Объединить список $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- array
$properties - Массив свойств и стратегии их объединения.
- array
$optionsнеобязательно [] - Параметры для использования при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Установить свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны
Параметры
- string
$name - Имя класса.
getModelType()source public
getModelType( )
Получить тип модели, используемый этим классом
Возвращает
stringloadModel()source public
loadModel( string|null $modelClass = null , string|null $modelType = null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта.
Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательно null Имя класса модели для загрузки. По умолчанию равно $this->modelClass. Имя может быть псевдонимом, например,
'Post'или полным именем класса, например,App\Model\Table\PostsTable::class.- string|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию имеет значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Выбрасывает
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределяет существующий вызываемый объект для генерации репозиториев заданного типа.
Параметры
- string
$type - Имя типа репозитория, для которого предназначена функция-фабрика.
- callable
$factory - Функция-фабрика, используемая для создания экземпляров.
modelType()source public deprecated
modelType( string|null $modelType = null )
Устанавливает или получает тип модели, который будет использоваться этим классом.
Устарело
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- string|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
string|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Устанавливает тип модели, который будет использоваться этим классом.
Параметры
- string
$modelType - Тип модели
Возвращает
$this
Магические методы, унаследованные от Cake\Console\Shell
main() |
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Shell.Task.CommandTask.html