Какую команду я бы использовал в CMD, чтобы получить все доступные переключатели / аргументы программы? Например, программа abc.exe может иметь параметр /o который запускает программу в автономном режиме. Предполагая, что я не знал о /o , что мне нужно сделать в командной строке, чтобы получить эту информацию?

Редактировать:

Я также хотел бы добавить, что я знаю, как найти переключатели и аргументы, которые уже используются в работающей программе - это не то, что мне нужно. Я хочу получить ВСЕ доступные аргументы командной строки для программы, независимо от того, запущена она или нет.

2 ответа2

1

За исключением уже упомянутых /? , --help , чтение документации и поиск в Google не существует стандартного способа сделать это. К сожалению, некоторые программы плохо документируют свои ключи - с ними ничего нельзя сделать (почти).

Вот почему: каждая программа анализирует свою командную строку совершенно по-разному, и даже наличие переключателей - это просто соглашение, которому стремится следовать большинство авторов: некоторые имеют переключатели в стиле /dos, некоторые в стиле -uNIX, другие используют --gnu-long-style = переключатели, а некоторые просто ничего не понимают, принимая первое, что они видят как имя файла.

Таким образом, анализ параметров является частью программного кода, и поэтому, чтобы узнать, какие параметры фактически принимает программа, вам нужно прочитать ее исходный код, которого у вас обычно даже нет.

Единственный другой вариант - разобрать данную программу. Разборка - это, по сути, разборка программы, инструкция за инструкцией, попытка понять, что она пытается сделать и как. Это занимает много времени и довольно трудно учиться.

Иногда вы можете открыть свою программу в шестнадцатеричном редакторе и найти команду, которую вы знаете, часто где-то ближе к концу, а затем попробовать что-нибудь поблизости, похожее на переключатель.

0

Большинство программ примет /? или -? Переключите, чтобы увидеть, какие параметры команда примет. Некоторые утилиты на основе GNU или * nix (с точки зрения непрофессионала, программы, в основном предназначенные для пользователей Linux, но также доступные для других платформ), требуют, чтобы вы добавили --help чтобы предоставить вам краткую документацию.

Когда все не получается, конечно, вы можете просто использовать документацию.

Чтобы найти переключатели, используемые для работающей программы, вы можете использовать Process Explorer или Process Hacker или даже командную строку, как объяснено в связанном вопросе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .