Вы не можете этого сделать.
Когда CakePHP ищет оболочки, он сканирует только папку App\Shell
, но не подпапки.
Так что все ваши снаряды должны быть в папке App\Shell
.
Полагаю, вы могли бы написать простую оболочку для админки, которая выглядит как
namespace App\Shell;
class AdminBatchShell extends \App\Shell\Admin\AdminBatchShell {
}
Который в основном создает копию вашей оболочки администратора в правильном пространстве имен, чтобы вы могли использовать эту команду
bin/cake admin_batch
Примечания
В отличие от общедоступного веб-доступа и префиксов, которые имеют смысл, поскольку вы хотите, чтобы административные ресурсы были защищены, в случае использования оболочек префикс их не имеет особого смысла, поскольку они могут выполняться только из командной среды вашего хостинга, поэтому только веб-администраторы или задания cron могут его запустить.