Sempre funcionaria dir /a /b /s /o:n
exatamente da mesma forma que uma permutação diferente dessas opções de sinalizadores, como dir /b /o:n /a /s
.
Observe que incluo /a
, sem nenhum de seus atributos, pois tive uma experiência uma vez em que dir /b /s
não produzi todos os arquivos em um diretório, por algum motivo, mas dir /a /b /s
sim.
Não. Com qualquer um dos comandos no prompt de comando, a ordem das opções em si não importa. Pode ser importante quando você fala sobre switches versus nomes de arquivos e, claro, se um switch tiver um subparâmetro especificado no próximo parâmetro, é claro que o próximo parâmetro deve obviamente vir em seguida.
Por exemplo, com
shutdown
, você pode escrever /c para adicionar um comentário. A ordem é sempre,shutdown /c "My comment about the shutdown"
mas o parâmetro /r para reinicializar pode acontecer antes do /c e depois do comentário e funcionará.Em comandos como
subst
emklink
que especificam opções e nomes de arquivos, as opções vêm primeiro e a ordem dos nomes dos arquivos também é importante caso haja mais de um. No caso demklink
o primeiro especificar o nome do link, e o segundo o destino ao qual ele está vinculado, e o parâmetro que você usa sempre vem antes de ambos os nomes de arquivo.Para saber mais sobre a ordem dos parâmetros, você sempre pode executar o
command /?
comando where que substitui o comando real, por exemplo:dir /?
. Se houver um pedido específico, ele será informado lá. Se não houver menção a um pedido específico, o pedido não importa.Até agora, todos os comandos e executáveis do prompt de comando parecem seguir a mesma ordem:
program.exe /required_switches filenames /optional_options optional_filenames
o comando dir pode ser executado sem nenhuma opção ou nome de arquivo, o que indica que todas as opções e nomes de arquivo são opções opcionais e, como tal, não importa onde você os coloca.
dir *.txt /s
funciona tão bem quantodir /s *.txt