Как передать подстановочные знаки в командной строке

Как передать подстановочные знаки в командной строке

Итак, это работает:

foo -a -b -c "path/file.ext"

И это тоже, если я хочу передать все файлы из каталога:

foo -a -b -c path/*

Но если я добавлю кавычки

foo -a -b -c "path/*"

Больше не работает: пишет «такой файл отсутствует...»

И я думаю, что мне нужно добавить кавычки, чтобы экранировать аргументы (я использую PHP и escapeshellarg).

решение1

TheДокументация escapeshellarg говорит, что он превращает его в: "единственный безопасный аргумент"

Но вы хотите, чтобы это интерпретировалось как несколько аргументов.

Попробуйте выполнить расширение с помощьюшарпервый.

Связанный контент