No Unix, podemos colocar vários comandos em uma única linha, como este:
$ date ; ls -l ; date
Tentei algo semelhante no Windows:
> echo %TIME% ; dir ; echo %TIME
Mas imprimiu a hora e não executa o comando dir
.
Como posso conseguir isso?
windows
batch-file
Raghuram
fonte
fonte
Respostas:
Usar:
Isso é, de memória, equivalente ao separador de ponto e vírgula em
bash
e outros shells UNIXy.Há também
&&
(or||
) que só executa o segundo comando se o primeiro for bem-sucedido (ou falhar), mas o único e comercial&
é o que você está procurando aqui.Provavelmente, você terá o mesmo tempo, pois as variáveis de ambiente tendem a ser avaliadas na leitura, em vez de na execução.
Você pode contornar isso ativando a expansão atrasada:
Isso é necessário na linha de comando. Se estiver fazendo isso dentro de um script, você pode apenas usar
setlocal
:fonte
time /t
(ouecho.|time
) em vez deecho %time%
contornar o problema.