Como posso saber se um arquivo de lote foi executado a partir de uma janela de comando?

1

Eu tenho um arquivo em lotes que eu gostaria de poder ser executado clicando duas vezes no arquivo no Windows Explorer. Quando isso é feito, quero terminar com uma pausa para que a janela não feche imediatamente.

Mas se o arquivo de lote for executado a partir de um shell de comando, prefiro não terminar com uma PAUSE.

Existe alguma maneira de dizer, dentro de um arquivo de lote, se ele está sendo executado em uma linha de comando gerada a partir do Windows Explorer ou de um shell de comando existente?

Bash fornece a variável especial $-environment.

Existe algo semelhante em cmd.exe?

    
por Jeff Dege 07.03.2018 / 20:43

1 resposta

0

Não é uma solução exata, mas você pode criar um atalho para o seu arquivo cmd e adicionar um parâmetro de linha de comando ao destino. Quando você precisar executar o cmd do Explorer, terá que iniciar o atalho, não o arquivo cmd. No seu arquivo cmd, você testará o parâmetro% 1 para identificar se ele foi iniciado a partir do atalho (do explorador) ou do prompt de comando.

    
por 07.03.2018 / 22:21