Qual é o equivalente a --help ou man page no Windows?

5

Se eu quiser saber quais são minhas opções para um programa Linux, então eu vou fazer man program ou program --help para descobrir. Como você faz isso no Windows?

Eu estava lendo sobre como executar um protetor de tela na linha de comando e descobri esse arquivo:

%SYSTEMROOT%\system32\scrnsave.scr

Quando chamado diretamente, a página de configurações desse protetor de tela é iniciada em vez do protetor de tela real.

Eu tentei help scrnsave.scr e scrnsave.scr /? e mais, mas nada funcionou. Não foi até que tentei o google que encontrei as opções de linha de comando no meio de um artigo do MSDN e sabia que tinha que usar:

%SYSTEMROOT%\system32\scrnsave.scr /s

Como eu deveria saber sobre a opção / s? Qual é a maneira correta de encontrar opções de programa na linha de comando do Windows?

    
por beardedlinuxgeek 22.01.2014 / 22:20

2 respostas

4

Não não é uma maneira correta. Mas não há no Unix também. A convenção --help é, na verdade, uma convenção GNU . É difundido nas distribuições Linux, onde os utilitários do sistema operacional são os GNU. Mas você não vai ver nos utilitários do sistema operacional em um BSD, por exemplo:

$ /bin/sh --help
Illegal option --
$ nawk --help
nawk: no program given

$

Por mais que a convenção --help tenha sido vista por muitos como uma boa ideia e adotada; A convenção /? (originada no DR-DOS 5.0 como uma convenção /H ) foi vista por muitos como uma boa ideia e adotada. Você verá que muitos comandos suportam isso. Mas igualmente como nem todos os comandos em Unix ou Linux suportam --help nem todos os comandos em DOS ou Windows NT suportam /? .

Você pode pensar que man vem para o resgate aqui. Graças ao GNU info e ao fato de que vários mantenedores de programa parecem colocar informações (até mesmo informações básicas como as opções da linha de comando), somente na página info e não na página man Por outro lado, não é a panacaea que poderia ser pensada, no entanto.

man não tem um equivalente no mundo DOS e Windows NT. O equivalente mais próximo foi help comando , que no DR-DOS 5.0 e posterior e MS-DOS 6.0 e posterior procurariam comando em um banco de dados de páginas de ajuda e exibição a página. O problema aqui é que, embora todos os utilitários de manutenção do sistema operacional tivessem páginas nesse banco de dados, quase nenhum programa de outra pessoa fazia isso, e o sistema era difícil de adicionar informações de terceiros.

(DOSBook, introduzido no DR-DOS 6.0 era o melhor que qualquer DOS comercial tinha com isso. O MS-DOS usava arquivos QuickHelp, a ferramenta de compilação que não era fornecida com o sistema operacional básico. PC-DOS 7 tinha o sistema IPF, uma ferramenta para compilação que novamente estava faltando no sistema operacional.O OS / 2 tinha o mesmo sistema IPF como PC-DOS e um comando HELP que estava integrado a ele, embora novamente o compilador IPFC estivesse em o Kit de ferramentas para desenvolvedores, e não na caixa com o sistema operacional.Muitos anos atrás eu escrevi uma melhoria o comando HELP fornecido, onde é possível configurar a referência de comando s por padrão, com uma variável de ambiente. Eu também forneci um livro de referência de comando estendido para alguns comandos que eu d escrito.)

O Windows NT ainda tem help comando para este dia. É um passo atrás do que o MS-DOS 6 tinha, muito menos do que o DR-DOS, o PC-DOS e o OS / 2 tinham.

Assim, a resposta atual é: Você deve vasculhar o MSDN, ler o site WWW de outra pessoa, ler um livro ou ler o código-fonte (se for código aberto), ou apenas saber telepaticamente…

Dito isto, a documentação na WWW não é uma coisa ruim, e é em grande parte a expectativa hoje em dia. (Embora se possa perder coisas como o IPFC criando índices e índices de conteúdo para um. ☺) A Microsoft documenta uma série de comandos de linha de comando no TechNet e no MSDN, como você viu.

Leitura adicional

por 23.01.2014 / 22:39
7

Para programas puros do Windows, exibir ajuda geralmente é /? . No entanto, há mais e mais programas multi-plataforma surgindo e eles usam -? , --help ou até mesmo outros comandos.

Na verdade, não é exigido pelos programas do Windows para suportar qualquer saída de ajuda, então tudo depende do desenvolvedor do programa.

Os protetores de tela são um pouco especiais, porque a Microsoft definiu o que um protetor de tela deve suportar. E o que você achou exatamente essa definição Obviamente, a Microsoft não define nenhuma opção de linha de comando /? obrigatória.

    
por 22.01.2014 / 22:28