Resolvido,
cmd.exe /K "cd /d {query} && activate py3"
O formulário é:
cmd.exe /K "command1 && command2"
Estou usando o listary como ferramenta de inicialização rápida. Eu quero começar cmd em algum lugar e digite um python virtualenv, que precisam de comando extra activate py3
.
Eu tentei
cmd.exe /K cd /d "{query}" & "activate py3"
Aqui, {query}
é o caminho do diretório.
Mas isso não funciona. Qual é o caminho correto?
A resposta à pergunta já foi respondida, vou apenas explicar um pouco mais. Na linha de comando do Windows, podemos executar vários comandos em apenas uma linha
Usando '&' (Ampersand)
OR '&&' (Double Ampersand)
O uso de% único e &
causa execução sequencial, por exemplo. Os comandos são executados na sequência em que são inseridos. Não há verificação de condição. Pode haver um caso em que o segundo comando possa ser executado com êxito Somente se o primeiro comando for executado com êxito.
Isso introduz o e comercial duplo &&
. Este operador é um tipo de operador condicional e executa uma verificação de erros, isto é, O segundo comando será executado somente se o primeiro comando for executado com sucesso.
Exemplo:
$ cd Docs & dir
Primeiro cd Docs
será executado & independentemente de ter sido bem-sucedido ou não, o segundo comando dir
será executado.
If Docs folder exist
then Irá alterar o diretório & em seguida, liste o conteúdo do Documentos usando o comando dir
. If Docs folder doesn't exist
Então, ocorrerá um erro, mas ainda dir
será executado para listar o conteúdo do diretório atual. $ cd Docs && dir
Aqui, o comando dir
será executado somente quando o diretório atual for alterado para Documentos e isso acontecerá only when Docs exist
. Então, você pode interpretar o comando como - "Se a pasta Docs existir, mude o diretório atual e, em seguida, liste seu conteúdo."
Isso é muito útil na programação em lote e às vezes na linha de comando também.
Tags command-line windows cmd.exe